std::unique_lock<Mutex>:: try_lock_for
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Locking | ||||
|
unique_lock::try_lock_for
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
template
<
class
Rep,
class
Period
>
bool try_lock_for ( const std:: chrono :: duration < Rep, Period > & timeout_duration ) ; |
(C++11以降) | |
関連するミューテックスのロック取得(つまり所有権の取得)を試みます。指定された timeout_duration が経過するか、ロックが取得されるかのいずれか早い方までブロックします。ロックの取得に成功した場合は true を返し、それ以外の場合は false を返します。実質的には mutex ( ) - > try_lock_for ( timeout_duration ) を呼び出します。
この関数は、スケジューリングやリソース競合による遅延のため、 timeout_duration よりも長くブロックする可能性があります。
標準では、持続時間の測定には安定したクロックを使用することが推奨されています。実装がシステムクロックを使用する場合、待機時間はクロック調整の影響を受ける可能性もあります。
std::system_error は、関連付けられたミューテックスが存在しない場合、またはミューテックスが既にこの std::unique_lock によってロックされている場合にスローされます。
目次 |
パラメータ
| timeout_duration | - | ブロックする最大時間 |
戻り値
true ミューテックスの所有権が正常に取得された場合、 false それ以外の場合。
例外
- mutex ( ) - > try_lock_for ( timeout_duration ) によってスローされる例外。
- 関連付けられたミューテックスが存在しない場合、 std::system_error が std::errc::operation_not_permitted のエラーコードで送出されます。
- ミューテックスが既にロックされている場合、 std::system_error が std::errc::resource_deadlock_would_occur のエラーコードでスローされる。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
関連付けられたミューテックスのロックを取得する(所有権を取得する)
(public member function) |
|
|
関連付けられたミューテックスのロックをブロックせずに試行する(所有権を取得する)
(public member function) |
|
|
関連付けられたミューテックスのロックを、指定された期間で試行する
(
std::shared_lock<Mutex>
のpublic member function)
|
|
|
関連付けられた
TimedLockable
ミューテックスのロックを試行する(所有権を取得する)、指定された時間ポイントに達するまでミューテックスが利用できない場合は返る
(public member function) |
|
|
関連付けられたミューテックスのロックを解除する(所有権を解放する)
(public member function) |