リードライトロックを実装しています。複数のスレッドが同時にデータを読み、単一のスレッドがデータを書きこむ場合に利用します。
[詳解]
#include "nn/nlib/threading/SharedCriticalSection.h"
リードライトロックを実装しています。複数のスレッドが同時にデータを読み、単一のスレッドがデータを書きこむ場合に利用します。
- 説明
- 読み込みスレッド同士は排他する必要がない場合、単純な
CriticalSection
を使うより並列性が高くなります。
- 典型的には以下のようなコードを記述することになります。
m.lock_shared();
.....
m.unlock_shared();
.....
m.lock();
.....
m.unlock();
SharedCriticalSection.h の 12 行目に定義があります。
§ try_lock()
nn::nlib::threading::SharedCriticalSection::try_lock |
( |
| ) |
|
|
inlinenoexcept |
§ try_lock_for()
nn::nlib::threading::SharedCriticalSection::try_lock_for |
( |
const TimeSpan & |
timeout | ) |
|
|
inlinenoexcept |
§ try_lock_shared()
nn::nlib::threading::SharedCriticalSection::try_lock_shared |
( |
| ) |
|
|
inlinenoexcept |
§ try_lock_shared_for()
nn::nlib::threading::SharedCriticalSection::try_lock_shared_for |
( |
const TimeSpan & |
timeout | ) |
|
|
inlinenoexcept |
§ try_lock_shared_until()
nn::nlib::threading::SharedCriticalSection::try_lock_shared_until |
( |
const DateTime & |
abstime | ) |
|
|
inlinenoexcept |
§ try_lock_until()
nn::nlib::threading::SharedCriticalSection::try_lock_until |
( |
const DateTime & |
abstime | ) |
|
|
inlinenoexcept |
このクラス詳解は次のファイルから抽出されました: