Mutex排他管理クラス
[詳解]
#include <TnbSync.h>
Mutex排他管理クラス
MUTEXを使った同期を実現します。
- 覚え書き
- 別プロセスでも別インスタンスでも同じ名前なら同期が取れます(同じ排他オブジェクトとして動きます)。
- 注意
- 同スレッドではロックできません。同一スレッドの場合ネストロックになります。 ロックの数だけアンロックをしてください。
- 参照
- http://msdn.microsoft.com/library/ja/jpdllpro/html/_win32_createmutex.asp
- 必要ファイル
- TnbSync.h
- 日付
- 06/01/01 新規作成
-
06/10/31 抽象クラスを使用するように変更。
-
06/11/15 作成失敗したら スローするように変更。
TnbSync.h の 272 行目に定義があります。
◆ CSyncMutex() [1/2]
CSyncMutex |
( |
bool |
boIsLock = false , |
|
|
LPCTSTR |
lpszName = NULL |
|
) |
| |
|
explicit |
コンストラクタ
- 引数
-
boIsLock | 初期状態。trueならLock状態、省略かfalseならUnlock状態で作成します。 |
lpszName | MUTEXの名前。省略可能。 |
- 例外
-
TnbSync.h の 283 行目に定義があります。
◆ CSyncMutex() [2/2]
コンストラクタ
- 引数
-
hMutex | CreateMutex()で作成したハンドル |
- 例外
-
TnbSync.h の 307 行目に定義があります。
◆ ~CSyncMutex()
◆ GetHandle()
virtual HANDLE GetHandle |
( |
void |
| ) |
const |
|
virtual |
◆ Lock()
virtual bool Lock |
( |
DWORD |
dwTime = INFINITE | ) |
const |
|
virtualinherited |
◆ operator HANDLE()
operator HANDLE |
( |
void |
| ) |
const |
|
inherited |
◆ Unlock()
virtual void Unlock |
( |
void |
| ) |
const |
|
virtual |