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

C# Discussion :

utilisation d'une TPL 'RunSynchronously'


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 38
    Par défaut utilisation d'une TPL 'RunSynchronously'
    Bonjour à tous,
    J'ai créer un programme afin qu'il freeze pas j'aimerais utiliser une TPL,
    mon programme tourne d'une manière synchrone,c'est pourquoi j'utilise RunSynchronously();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
       private void button1_Click(object sender, EventArgs e)
            {
                Task t = new Task(() => chart1_Click());
                Task t2 = new Task(() => chart17_Click());
     
                t.RunSynchronously();
     
                t2.RunSynchronously();
     
              try
              {
                  Task.WaitAll(new[] { t, t2 });
              }
              catch (AggregateException)
              { }
     
            }
    Le problème c'est qu'il freeze toujours .

    Merci de m'aider.

  2. #2
    Invité
    Invité(e)
    Par défaut
    est qu'on peut voir le contenu de ta méthode RunSynchronously ? et ainsi s'il lance bien un tread indépendant du thread de ton form.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 38
    Par défaut
    RunSynchronously fait partie de la classe du système:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Threading.Tasks;

  4. #4
    Invité
    Invité(e)
    Par défaut
    Autant pour moi . Ben j'ai jamais eu à utiliser cette méthode.

    Bon pour en revenir au problème.

    le plus simple pour ne pas freezer ton UI est de mettre tout le contenu de ta méthode button1_Click dans une autre méthode maMethode.

    A partir de ta méthode button1_Click tu instancies un objet Thread ou un objet BackgroundWorker qui se chargera de lancer ta méthode créer auparavant c'est à dire maMethode et là c'est sûr que ton UI ne freezera pas.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 38
    Par défaut
    j'ai déjà essayer d'utiliser le becvkgroundworker mais j'ai pas réussi car mon programme est un peu exceptionnelle.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par infose Voir le message
    j'ai déjà essayer d'utiliser le becvkgroundworker mais j'ai pas réussi car mon programme est un peu exceptionnelle.
    Pourquoi t'as pas réussi à mettre en place le BackgroundWorker : Execption ?

    et aussi en quoi ton programme est exceptionnel ?

Discussions similaires

  1. [Débutant(e)] JSP utilisation static....une autre
    Par tcgenrecom dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/03/2004, 15h27
  2. utilisation d'une variable globale
    Par ZZ dans le forum ASP
    Réponses: 3
    Dernier message: 03/12/2003, 19h11
  3. Utilisation d'une variable sur plusieurs unités
    Par Yamaneko dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 11h23
  4. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 09h19
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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