nlib
nn::nlib::threading::ScopedLock< T > クラステンプレート

CriticalSection等をラップしてコンストラクタでロック、デストラクタでアンロックします。 [詳解]

#include "nn/nlib/threading/CriticalSection.h"

公開型

typedef T mutex_type
 T
 
typedef mutex_type::native_handle_type native_handle_type
 mutex_type::native_handle_type
 

公開メンバ関数

 ScopedLock (mutex_type &m) NLIB_ACQUIRE(lock_)
 CriticalSection等をロックします(lock()を呼び出します)。 [詳解]
 
 ScopedLock (mutex_type &m, AdoptLockType) noexcept NLIB_ACQUIRE(lock_)
 CriticalSection等が既にロックされていると仮定して、ロックせずにオブジェクトを初期化します。 デストラクタではアンロックされます。 [詳解]
 
 ~ScopedLock () noexcept NLIB_RELEASE(lock_)
 CriticalSection等をアンロックします(unlock()を呼び出します)。
 
native_handle_type native_handle () NLIB_RETURN_CAPABILITY(lock_)
 ロックを表す実装固有のハンドルを返します。
 

詳解

template<class T>
class nn::nlib::threading::ScopedLock< T >

CriticalSection等をラップしてコンストラクタでロック、デストラクタでアンロックします。

テンプレート引数
TCriticalSection等のクラス

CriticalSection.h242 行目に定義があります。

構築子と解体子

◆ ScopedLock() [1/2]

template<class T>
nn::nlib::threading::ScopedLock< T >::ScopedLock ( mutex_type rhs)
inlineexplicit

CriticalSection等をロックします(lock()を呼び出します)。

引数
[in]rhsCriticalSection等のオブジェクト

CriticalSection.h246 行目に定義があります。

◆ ScopedLock() [2/2]

template<class T>
nn::nlib::threading::ScopedLock< T >::ScopedLock ( mutex_type rhs,
AdoptLockType   
)
inlinenoexcept

CriticalSection等が既にロックされていると仮定して、ロックせずにオブジェクトを初期化します。 デストラクタではアンロックされます。

引数
[in]rhsCriticalSection等のオブジェクト
説明
既にCriticalSection等がロックされている場合に利用してください。

CriticalSection.h249 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: