名前空間
変種
操作

C++ の名前付き要件: SharedLockable (C++14 以降)

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

SharedLockable の要件は、実行エージェント (スレッドなど) の共有ブロッキングセマンティクスを提供する型の最小限の特性を記述します。

目次

[編集] 要件

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

Expression 事前条件 効果 戻り値
m.lock_shared() 現在の実行エージェント (スレッド、プロセス、タスク) のロックが取得できるまでブロックします。例外がスローされた場合、ロックは取得されません。
m.try_lock_shared() ブロックせずに、現在の実行エージェント (スレッド、プロセス、タスク) のロックを取得しようとします。例外がスローされた場合、ロックは取得されません。 ロックが取得された場合は true、それ以外の場合は false
m.unlock_shared() 現在の実行エージェントは m に対する共有ロックを保持しています。 実行エージェントによって保持されている共有ロックを解放します。

例外を投げません。

[編集] 共有ロック

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

[編集] 標準ライブラリ

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

共有相互排他機能を提供する
(クラス) [編集]
共有相互排他機能を提供し、タイムアウト付きのロックを実装する
(クラス) [編集]

[編集] 関連項目

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