Attendre la fin de plusieurs thread
Bonjour,
Je rencontre un petit problème dans un projet pour mon école que j'arrive malheureusement pas à résoudre. :?
J'ai créé et exécute plusieurs threads dans mon main(). J'aimerais attendre la fin de leur exécution avant de pouvoir continuer. Bien entendu, je dois utiliser des moniteurs pour attendre l’exécution des threads (l'utilisation de pthread_join() serait trop facile :) ).
J'avais plus ou moins une idée en tête : à la fin de chaque thread, je fais un pthread_cond_signal() à la fin de chaque thread. Et dans une boucle dans mon main, pour chaque thread créé, je fais un pthread_cond_wait().
Cependant, cela ne marche pas. Je pense que cela est du à ce que parfois, un thread execute pthread_cond_signal() avant que le main execute pthread_cond_wait().
Mais je vois absolument pas comment régler ce problème :?
Si quelqu'un pourrait m'aider à trouver une solution :D
Merci.