Bonjour, c'est encore moi![]()
J'ai lu la page d'Emmanuel Delahaye sur les threads POSIX, mais après réflexion, je ne vois toujours pas comment résoudre un problème de synchronisation pour plus de deux threads. Mon problème est le suivant:
J'ai des threads qui travaillent en parallèle (while(found==FALSE)), quand un a trouvé la solution, il met found à TRUE pour passer à la suite. Mais je souhaiterais que ces threads s'attendent à la sortie de la boucle avant de passer à la suite.
Comment faire? Je pensais compter les threads sortis de la boucle et les mettre en attente, le dernier envoyant un signal aux autres, mais je ne vois pas comment résoudre ça sans problème de concurrence (pour les compter il faudrait mettre un mutex pour qu'ils se comptent un à un, mais du coup ils ne peuvent pas se mettre en attente sans bloquer les autres ou risquer de rester bloqués eux-mêmes).
Partager