linux pthread_suspend

Parece que o linux não implementa pthread_suspend e continua, mas eu realmente preciso deles.

Eu tentei cond_wait, mas é muito lento. O trabalho que está sendo encadeado é executado principalmente em 50us, mas ocasionalmente executa mais de 500ms. O problema com cond_wait é duplo. O bloqueio mutex está levando tempos comparáveis às execuções de microssegundos e não preciso de bloqueio. Segundo, tenho muitos threads de trabalho e realmente não quero criar variáveis de condição N quando elas precisam ser acordadas.

Eu sei exatamente qual thread está esperando por qual trabalho e poderia simplesmente pthread_continue esse segmento. Um encadeamento sabe quando não há mais trabalho e pode facilmente pthread_suspend. Isso não usaria travamento, evitaria a debandada e seria mais rápido. O problema é .... não pthread_suspend ou _continue.

Alguma ideia?

questionAnswers(5)

yourAnswerToTheQuestion