Bonjour,
je désire améliorer mon programme multi-threads en y ajoutant des mutex et des pthread_cond_signal ainsi que des pthread_cond_wait.
Merci à Franck.H et Emmanuel Delahaye pour vos tutoriels que je trouve très bien faits (http://franckh.developpez.com/tutori...threads/#LIX-A et http://emmanuel-delahaye.developpez.com/pthreads.htm).
Mais pour ma part, j'ai N+1 tâches : les N premières tâches doivent s'exécuter en simultané et la (N+1)ème tâche ne peut s'exécuter que si les N tâches ont fini leur exécution. Puis, lorsque c'est au tour de la (N+1)ème tâche de s'exécuter, les N premières doivent être en attente (les N premières tâches résolvent une équation différentielle sur [t, t+delta t] et la (N+1)ème tâche prend la solution finale (issue du calcul de l'équa diff) pour la "bidouiller" et renvoie les nouvelles conditions initiales au N premières tâches (je ne sais pas si j'ai été bien clair...)
Donc, comment pourrais-je écrire la condition
"tant que les N tâches sont en exécution ne rien faire" ou "tant que la tâche N+1 tourne, ne rien faire pour les autres".
J'ai bien lu l'article de Franck.H dont son tutoriel est très similaire à mon problème en fait. Je suis presque sûr qu'il y a trois fois rien à modifier pour avoir ma solution.
Avez-vous une idée ?
Partager