マルチスレッドのプログラミング

cond_wait(3THR)


#include <thread.h>

int cond_wait(cond_t *cv, mutex_t *mp);

cond_wait(3THR) は、mp が指す mutex を原子操作により解放し、cv が指す条件変数で、呼び出しスレッドをブロックします。ブロックされたスレッドを呼び起こすには、cond_signal()cond_broadcast() を使います。また、スレッドはシグナルや fork() の割り込みによっても呼び起こされます。(POSIX スレッドについては、「pthread_cond_wait(3THR)」を参照)。