WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開メンバ関数 | 限定公開型 | 限定公開メンバ関数 | 限定公開変数類
FVCL::CFvMutex クラス

排他制御クラス [詳解]

詳解

排他制御クラス

namespace FVCL

共有データの同時更新からの保護を行う為の機構です。
Windows環境では、クリティカルセクション(CRITICAL_SECTION)を使用します。
その他の環境(UNIX系)では、POSIXのMutex(pthread_mutex_t)を使用します。
これらは、同一プロセス内のスレッド間で排他制御を行う事ができます。 プロセス間での排他制御は行えません。

必要条件:
ヘッダー: FVCLbasic.h
+ FVCL::CFvMutex の継承関係図

公開メンバ関数

 CFvMutex ()
 コンストラクタ [詳解]
 
virtual ~CFvMutex ()
 デストラクタ [詳解]
 
void Lock ()
 ロック [詳解]
 
bool Trylock (INT iSleep=0)
 ロック試行 [詳解]
 
void Unlock ()
 ロック解除 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

限定公開型

typedef pthread_mutex_t MUTEX_TYPE
 同期オブジェクト型の定義 [詳解]
 

限定公開メンバ関数

void _Sleep (INT iSleep)
 待機 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 

限定公開変数類

MUTEX_TYPE m_Mutex
 同期オブジェクト [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 

型定義メンバ詳解

同期オブジェクト型の定義

同期オブジェクト型を定義します。
Windows環境では、CRITICAL_SECTION を使用します。
その他の環境(UNIX系)では、pthread_mutex_t を使用します。

構築子と解体子

FVCL::CFvMutex::CFvMutex ( )

コンストラクタ

標準のコンストラクタです。

解説:
メンバ変数の同期オブジェクトを初期化します。
同一スレッドからの再帰的なロックを可能にします。
FVCL::CFvMutex::~CFvMutex ( )
virtual

デストラクタ

同期オブジェクトを開放します。

関数詳解

FVCL::CFvMutex::Lock ( )

ロック

同期オブジェクトをロックします。

解説:
ロックされていないか同一スレッドがロックしている場合はロックは成功し直ちに戻ります。
別のスレッドが既にロックしている場合は、解除されるまで無限に待機します。
FVCL::CFvMutex::Trylock ( INT  iSleep = 0)

ロック試行

同期オブジェクトのロックを試行します。

引数
[in]iSleep待機時間(msec)
解説:
ロックされていないか同一スレッドがロックしている場合はロックは成功し直ちに戻ります。
別のスレッドが既にロックしている場合は、 解除されるか引数に指定した待機時間が経過するまで待機します。
FVCL::CFvMutex::Unlock ( )

ロック解除

同期オブジェクトのロックを解除します。

FVCL::CFvMutex::_Sleep ( INT  iSleep)
protected

待機

指定時間待機します。

引数
[in]iSleep待機時間 (ミリ秒)

メンバ詳解

CFvMutex::MUTEX_TYPE FVCL::CFvMutex::m_Mutex
protected

同期オブジェクト

同期オブジェクトの実体です。


Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分57秒 for WIL説明書(C++) by doxygen 1.8.11