Nicolas Delsaux wrote:
Un peu comme nicolas,Plus compliqué, effectivement, mais pas impossible. Voici une façon de faire :a) créer une classe de gestion de tes thread (ThreadManager). Elle aussi est un thread. b) dans ThreadManager gérer un compteur d'instances de MyThreadClass c) lorsque qu'un MyThreadClass commence sa méthode run il incrémente le compteur de ThreadManager d) lorqu'il sort de sa méthode run, il décrémente le compteur. e) lorsque le compteur de ThreadManager est à zéro, poursuivre ton application. En fait, pourquoi ThreadManager est elle-même un Thread ? Parce qu'elle doit tester en boucle la valeur de son compteur !Je ne suis pas ultra au fait des applications multi-threadées, et de toutes les subtilités gérant les synchronisations, mais il me semble que cette classe peut très bien dormir et être notifiée à la fermeture de chaque thread (join) pour décrémenter son compteur, plutôt que de tourner en permanence.
je me demande si une simple boucle du genre
for(tableau de thread)
{
tableaudethread[i].join();
}
ne te suffit pas car ton appli doit attendre la fin de tous les threads
