C++ named requirements: TimedLockable (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimedLockable 要件は、実行エージェント(スレッド、プロセス、タスク)に対して時間指定付き排他的ブロッキングセマンティクスを提供する型の特性を記述します。
目次 |
要件
型
L
が
TimedLockable
であるためには、以下の条件を満たす必要があります
-
rel_time、 std::chrono::duration の特殊化の値、および -
abs_time、 std::chrono::time_point の特殊化の値
型
L
のオブジェクト
m
は以下の条件を満たさなければなりません:
| 式 | 効果 | 戻り値 |
|---|---|---|
| m. try_lock_for ( rel_time ) |
指定された期間
rel_time
の間、または
m
のロックが取得されるまでブロックする。
|
true ロックが取得された場合、 false それ以外の場合。 |
| m. try_lock_until ( abs_time ) |
指定された時間ポイント
abs_time
に達するまで、または
m
のロックが取得されるまでブロックする。
|
true ロックが取得された場合、 false それ以外の場合。 |
注記
try_lock_for
および
try_lock_until
メンバー関数は、成功時に
m
に対する非共有ロックを取得します。
標準ライブラリ
以下の標準ライブラリ型は TimedLockable を満たします:
|
(C++11)
|
タイムアウト付きロックを実装する相互排他機能を提供する
(クラス) |
|
(C++11)
|
同じスレッドで再帰的にロック可能で、タイムアウト付きロックを実装する
相互排他機能を提供する (クラス) |
|
(C++14)
|
共有相互排他機能を提供し、タイムアウト付きロックを実装する
(クラス) |