Attendre la fin de l'exécution de plusieurs threads ?

Résolu
Stex2010 Messages postés 4 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 20 août 2010 - 20 août 2010 à 12:58
Stex2010 Messages postés 4 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 20 août 2010 - 20 août 2010 à 19:49
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

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 51
20 août 2010 à 15:22
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é. -
2
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
20 août 2010 à 18:37
Sinon regarde du coté de la classe WaitHandle et ses enfants :)
1
Stex2010 Messages postés 4 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 20 août 2010
20 août 2010 à 18:18
Merci pour la réponse, je n'avais pas pensé à ça !

Je teste et je reviens. :)
0
Stex2010 Messages postés 4 Date d'inscription mercredi 30 juin 2010 Statut Membre Dernière intervention 20 août 2010
20 août 2010 à 19:49
Génial, deux solutions en un après-midi !
Ce forum fonctionne bien. :P

Merci.
0