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

「呼び起こし忘れ」問題

pthread_cond_signal() または pthread_cond_broadcast() を呼び出すとき、スレッドが条件変数に関連する相互排他ロックを保持していないと「呼び起こし忘れ」(lost wake-up) という問題が生じることがあります。

次のすべての条件に該当する場合は、そのシグナルには効果がないので「呼び起こし忘れ」が発生します。