Attendre la fin de l'exécution de plusieurs threads ? [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 30 juin 2010
Statut
Membre
Dernière intervention
20 août 2010
-
Messages postés
4
Date d'inscription
mercredi 30 juin 2010
Statut
Membre
Dernière intervention
20 août 2010
-
Bonjour,

J'ai un programme dans lequel je souhaite exécuter plusieurs opérations simultanément, mais je dois attendre que toutes ces opérations soient terminées avant de continuer, et je ne sais pas comment faire.
J'ai cherché sur Google et MSDN mais je n'ai pas vraiment trouvé...

Si quelqu'un peut me donner un bout de code ou un lien vers une explication, je le remercie d'avance. :)

4 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut

Il te suffit de garder une référence à chaque thread lancé, par exemple, dans une List<Thread>

Puis, dans ton thread principal :

foreach(Thread th in maListe)
{
    if(th.IsAlive) // Si le thread n'est pas déjà fini
    {
        th.Join(); // On attend que le thread soit terminé
    }
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
6
Sinon regarde du coté de la classe WaitHandle et ses enfants :)
Messages postés
4
Date d'inscription
mercredi 30 juin 2010
Statut
Membre
Dernière intervention
20 août 2010

Merci pour la réponse, je n'avais pas pensé à ça !

Je teste et je reviens. :)
Messages postés
4
Date d'inscription
mercredi 30 juin 2010
Statut
Membre
Dernière intervention
20 août 2010

Génial, deux solutions en un après-midi !
Ce forum fonctionne bien. :P

Merci.