std::shared_timed_mutex:: lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
|
shared_timed_mutex::lock_shared
|
||||
|
void
lock_shared
(
)
;
|
(C++14以降) | |
ミューテックスの共有所有権を取得します。他のスレッドが排他所有権でミューテックスを保持している場合、
lock_shared
の呼び出しは、共有所有権が取得できるまで実行をブロックします。
もし
lock_shared
が、既に何らかのモード(排他または共有)で
mutex
を所有しているスレッドによって呼び出された場合、動作は未定義です。
実装定義された最大数を超える共有所有者がすでにミューテックスを共有モードでロックしている場合、
lock_shared
は共有所有者の数が減少するまで実行をブロックします。所有者の最大数は少なくとも10000であることが保証されています。
同じミューテックスに対する前回の unlock() 操作は、この操作と synchronizes-with ( std::memory_order で定義されている通り)関係にあります。
目次 |
パラメータ
(なし)
戻り値
(なし)
例外
エラーが発生した場合、
std::system_error
をスローします。これには、
lock
がその仕様を満たすのを妨げる基盤オペレーティングシステムからのエラーも含まれます。例外がスローされた場合、ミューテックスはロックされません。
注記
lock_shared()
は通常直接呼び出されません:
std::shared_lock
が共有ロックの管理に使用されます。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
ミューテックスをロックする。ミューテックスが利用できない場合はブロックする
(公開メンバ関数) |
|
|
ミューテックスの共有所有権を取得しようと試みる。ミューテックスが利用できない場合は即座に返る
(公開メンバ関数) |
|
|
ミューテックスをアンロックする(共有所有権)
(公開メンバ関数) |