名前空間
変種
操作

cnd_wait

From cppreference.com
ヘッダ<threads.h>で定義
int cnd_wait( cnd_t* cond, mtx_t* mutex );
(C11 以降)

mutex が指すミューテックスをアトミックにアンロックし、`cond` が指す条件変数でブロックします。スレッドは cnd_signal または cnd_broadcast によってシグナルされるか、または偽のウェイクアップが発生するまでブロックされます。関数が戻る前に、ミューテックスは再度ロックされます。

呼び出しスレッドによってミューテックスがまだロックされていない場合、未定義の動作となります。

目次

[編集] パラメータ

cond - ブロックする条件変数へのポインタ
mutex - ブロック期間中にアンロックされるミューテックスへのポインタ

[編集] 戻り値

成功した場合は thrd_success、それ以外の場合は thrd_error

[編集] 参照

  • C17標準 (ISO/IEC 9899:2018)
  • 7.26.3.6 The cnd_wait function (p: 277)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.26.3.6 The cnd_wait function (p: 380)

[編集] 関連項目

タイムアウト付きで条件変数でブロックする
(関数) [編集]
C++ ドキュメント for condition_variable::wait
C++ ドキュメント for condition_variable_any::wait
English 日本語 中文(简体) 中文(繁體)