std::unique_lock<Mutex>::try_lock_until
From cppreference.com
< cpp | thread | unique lock
| template< class Clock, class Duration > bool try_lock_until( const std::chrono::time_point<Clock, Duration>& timeout_time ); |
(C++11以降) | |
関連するミューテックスをロックしようとします(つまり、所有権を取得します)。指定された timeout_time に到達するか、ロックが取得されるまでブロックします。どちらが先に発生するかに依存します。ロックの取得に成功した場合は true を返し、それ以外の場合は false を返します。 timeout_time に到達するまで、それよりも長くブロックする場合があります。
mutex()->try_lock_until(timeout_time) を効果的に呼び出します。
関連するミューテックスがない場合、またはミューテックスが既に同じスレッドによってロックされている場合は、 std::system_error がスローされます。
Clock は Clock の要件を満たす必要があります。プログラムは、 std::chrono::is_clock_v<Clock> が false の場合、形式が不正となります。(C++20 以降)
目次 |
[編集] パラメータ
| timeout_time | - | ブロックする最大時間点 |
[編集] 戻り値
true ミューテックスの所有権が正常に取得された場合、false それ以外の場合。
[編集] 例外
- mutex()->try_lock_until(timeout_time) によってスローされる例外。
- 関連するミューテックスが存在しない場合は、エラーコード std::errc::operation_not_permitted を持つ std::system_error。
- ミューテックスがすでにロックされている場合、エラーコード std::errc::resource_deadlock_would_occur を持つ std::system_error。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| 関連付けられたミューテックスをロックします(つまり、所有権を取得します)。 (public member function) | |
| 関連付けられたミューテックスをブロックせずにロックしようとします(つまり、所有権を取得します)。 (public member function) | |
| 指定された時間だけミューテックスが利用できない場合に戻る、関連付けられたTimedLockableミューテックスのロック(つまり、所有権の取得)を試みます。 (public member function) | |
| 関連付けられたミューテックスをアンロックします(つまり、所有権を解放します)。 (public member function) |