IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 .NET Discussion :

synchroniser ecriture et lecture


Sujet :

.NET

  1. #1
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut synchroniser ecriture et lecture
    bonjour;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try 
                {
                    richTextBox1.Text = RunPreUp("script");
     
                }
    l'execution de RunPreUp prend plus de 3 minutes alors est ce qu'il y a une solution pour faire la synchronization entre l'ecriture dans richTextBox1.Text et lecture de RunPreUp.
    merci d'avance

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour, en utilisant async/await :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    async void....
    {
        // Code initial sur le thread UI
        ...
     
        // Invocation de RunPreUp en arrière-plan. Pendant ce temps sur le thread UI, on quitte la fonction en redonnant la main à l'appelant.
        var text = await Task.Run(() => RunPreUp("script"));
     
        // Code exécuté sur le thread UI après la fin de RunPreUp 
        richTextBox1.Text = text;
    }


    Note qu'il est aussi possible de ne redonner la main à l'appelant qu'après la vraie fin de cette fonction. Pour ça il faut modifiant le type de retour de "void" à "Task" et utiliser "await" dans la fonction appelante. Dans ce cas c'est la fonction appelante qui redonnera la main de façon prématurée.

  3. #3
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut
    async et await ont été introduits dans Visual Studio 2012 , je travaille avec VS2010 et framework 3.5

  4. #4
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Il serait intéressant de voir le contenu de RunPrepUp().

Discussions similaires

  1. Ecriture et lecture des ressources sur une .exe
    Par LeRoi dans le forum Delphi
    Réponses: 8
    Dernier message: 06/10/2006, 22h46
  2. Ecriture et lecture dans un fichier
    Par laetous dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 23/08/2006, 17h59
  3. ecriture et lecture d'une memoire partagee en C++
    Par jlassiramzy dans le forum C++
    Réponses: 17
    Dernier message: 30/06/2006, 11h47
  4. Ecriture et lecture de fichiers
    Par nozvad dans le forum Général Python
    Réponses: 4
    Dernier message: 12/10/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo