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

条件変数によるブロック

cond_wait(3T)

#include <thread.h>

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

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