C++ 名前付き要件: Lockable (C++11 以降)
From cppreference.com
Lockable 要件は、試行ロックを含めるように BasicLockable 要件を拡張したものです。
目次 |
[編集] 要件
型LがLockableであるためには、上記の条件および以下の条件を満たす必要があります。
| Expression | 効果 | 戻り値 |
|---|---|---|
| m.try_lock() | 現在の実行エージェント(スレッド、プロセス、タスク)のロックを、ブロックせずに取得しようとします。例外がスローされた場合、ロックは取得されません。 | ロックが取得された場合は true、それ以外の場合は false |
[編集] 注意
try_lock メンバ関数は、成功した場合に m に対する非共有ロックを取得します。
[編集] 標準ライブラリ
以下の標準ライブラリ型は Lockable 要件を満たします。
| (C++11) |
基本的な相互排他機能を提供する (クラス) |
| (C++11) |
同じスレッドによって再帰的にロックできる相互排他機能を提供する (クラス) |
| (C++11) |
再帰的にロックできる相互排他機能を提供する 同じスレッドによって、タイムアウト付きのロックを実装 (クラス) |
| (C++17) |
共有相互排他機能を提供する (クラス) |
| (C++14) |
共有相互排他機能を提供し、タイムアウト付きのロックを実装する (クラス) |
| (C++11) |
タイムアウト付きのロックを実装した相互排他機能を提供する (クラス) |