Namespaces
Variants

mtx_timedlock

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

現在のスレッドを、 mutex が指すミューテックスがロックされるか、 time_point が指す TIME_UTC ベースの絶対カレンダー時間ポイントに到達するまでブロックします。

この関数は絶対時間を受け取るため、期間が必要な場合は、カレンダー時間ポイントを手動で計算する必要があります。

現在のスレッドがすでにミューテックスをロックしており、かつミューテックスが再帰的でない場合、動作は未定義です。

ミューテックスがタイムアウトをサポートしていない場合、動作は未定義です。

同じミューテックスに対する事前の mtx_unlock 呼び出しは(この操作が成功した場合)、この操作と 同期する 。また、任意のミューテックスに対するすべてのロック/アンロック操作は単一の全順序を形成する(アトミックオブジェクトの変更順序と類似)

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - HTMLタグ、属性、リンク先は一切変更していません - ` `内のテキストはC++関連の専門用語(Parameters, Return value, References, See also, External links)であるため、翻訳せずに原文のまま保持しています - 番号部分と書式は完全に維持しています

パラメータ

mutex - ロックするミューテックスへのポインタ
time_point - タイムアウトまで待機する絶対カレンダー時間へのポインタ

戻り値

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

参考文献

  • C17規格 (ISO/IEC 9899:2018):
  • 7.26.4.4 mtx_timedlock関数 (p: 278)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.26.4.4 mtx_timedlock関数 (p: 381-382)

関連項目

秒とナノ秒での時間
(構造体)
ミューテックスをロックするまでブロックする
(関数)
ミューテックスをロックするか、既にロックされている場合はブロックせずに返す
(関数)
ミューテックスをアンロックする
(関数)
C++ documentation for timed_mutex::try_lock_until
C++ documentation for recursive_timed_mutex::try_lock_until

外部リンク

GNU GCC Libc マニュアル: ISO-C-Mutexes