名前空間
変種
操作

C++ 名前付き要件: BasicLockable (C++11 以降)

From cppreference.com
 
 
C++ 名前付き要件
 

BasicLockable 要件は、実行エージェント(すなわちスレッド)に対して排他的なブロッキングセマンティクスを提供する型の最小限の特性を記述します。

目次

[編集] 要件

LBasicLockable であるためには、型 L のオブジェクト m に対して以下の条件を満たす必要があります。

Expression 事前条件 効果
m.lock() 現在の実行エージェント(スレッド、プロセス、タスク)がロックを取得できるようになるまでブロックします。例外がスローされた場合、ロックは取得されません。
m.unlock() 現在の実行エージェントは、m に対して非共有ロックを保持しています。 実行エージェントが保持している非共有ロックを解放します。

例外を投げません。

[編集] 非共有ロック

オブジェクトに対するロックは、locktry_locktry_lock_for、または try_lock_until メンバ関数への呼び出しによって取得された場合、非共有ロック と呼ばれます。

[編集] 標準ライブラリ

以下の標準ライブラリ型は BasicLockable 要件を満たします。

(C++11)
基本的な相互排他機能を提供する
(クラス) [編集]
同じスレッドによって再帰的にロックできる相互排他機能を提供する
(クラス) [編集]
再帰的にロックできる相互排他機能を提供する
同じスレッドによって、タイムアウト付きのロックを実装
(クラス) [編集]
共有相互排他機能を提供する
(クラス) [編集]
共有相互排他機能を提供し、タイムアウト付きのロックを実装する
(クラス) [編集]
タイムアウト付きのロックを実装した相互排他機能を提供する
(クラス) [編集]

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)