Il semble que linux n'implémente pas pthread_suspend et continue, mais j'en ai vraiment besoin.
J'ai essayé cond_wait, mais c'est trop lent. Le travail en cours de traitement s'exécute généralement en 50 secondes, mais parfois en 500 ms. Le problème avec cond_wait est double. Le verrouillage du mutex prend un temps comparable à celui des exécutions en microsecondes et je n'ai pas besoin de verrouillage. Deuxièmement, j'ai beaucoup de fils de travail et je ne veux pas vraiment faire N variables de condition quand ils ont besoin d'être réveillés.
Je sais exactement quel fil est en attente de quel travail et je peux simplement pthread_continuer ce fil. Un thread sait quand il n'y a plus de travail et peut facilement se pthread_suspendre. Cela n'utiliserait aucun verrouillage, éviterait la ruée et serait plus rapide. Le problème est que .... n'a pas de pthread_suspend ou _continue.
Des idées ?