名前空間
変種
操作

cnd_timedwait

From cppreference.com
ヘッダ<threads.h>で定義
int cnd_timedwait( cnd_t* restrict cond, mtx_t* restrict mutex,
                   const struct timespec* restrict time_point );
(C11 以降)

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

呼び出しスレッドがミューテックスをまだロックしていない場合、動作は未定義です。

目次

[編集] パラメータ

cond - ブロックする条件変数のポインタ
mutex - ブロック期間中にアンロックするミューテックスのポインタ
time_point - 待機するタイムアウト時刻を指定するオブジェクトのポインタ

[編集] 戻り値

成功した場合は thrd_success、ミューテックスがロックされる前にタイムアウト時刻に達した場合は thrd_timedout、エラーが発生した場合は thrd_error

[編集] 参考文献

  • C17標準 (ISO/IEC 9899:2018)
  • 7.26.3.5 The cnd_timedwait function (p: 276-277)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.26.3.5 The cnd_timedwait function (p: 379-380)

[編集] 関連項目

条件変数でブロックする
(関数) [編集]
condition_variable::wait_until C++ ドキュメント
condition_variable_any::wait_until C++ ドキュメント
English 日本語 中文(简体) 中文(繁體)