名前空間
変種
操作

cnd_wait

提供: cppreference.com
< c‎ | thread
ヘッダ <threads.h> で定義
int cnd_wait( cnd_t* cond, mtx_t* mutex );
(C11以上)

mutex の指すミューテックスのロックを解除し、スレッドが cnd_signal または cnd_broadcast によって通知されるまで、またはスプリアスウェイクアップが発生するまで、 cond の指す条件変数でブロックします。 この操作はアトミックに行われます。 ミューテックスは関数が戻る前に再びロックされます。

ミューテックスが呼び出し元スレッドによってあらかじめロックされていない場合、動作は未定義です。

目次

[編集] 引数

cond - ブロックする条件変数を指すポインタ
mutex - ブロック期間中ロック解除するミューテックスを指すポインタ

[編集] 戻り値

成功した場合は thrd_success、そうでなければ thrd_error

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.26.3.6 The cnd_wait function (p: 380)

[編集] 関連項目

タイムアウト付きで条件変数でブロックします
(関数) [edit]
condition_variable::waitC++リファレンス
condition_variable_any::waitC++リファレンス