 | | WideStudio/MWT Class Reference
| |
クラスの型
WSDmutex
メソッド関数仕様
getNewInstance() 関数の説明
- 書式
- WSDmutex* WSDmutex::getNewInstance()
- 機能
- WSDmutex インスタンスを取得します。
WSDmutex インスタンスは、new 演算子で生成せず、
この getNewInstance() メンバ関数で生成します。
- 処理
-
- 引数
- なし。
- 返値
- WSDmutex インスタンスへのポインタ
- 注意
- この関数はスタティック関数です。
- サンプル
- initialize() を参照してください。
initialize 関数の説明
- 書式
- long initialize()
- 機能
- ミューテックスを初期化します。
使用前に、一度初期化を行なって下さい。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- 複数のスレッドからアクセスされる場合のある処理に対して
排他を行なう例です。
WSDmutex* mutex = NULL;
void* thread_proc(WSDmutex* thr,void* data){
//スレッドで処理...
mutex->lock(); //排他
//排他内
mutex->unlock(); //排他解除
return NULL;
}
void* thread_proc2(WSDmutex* thr,void* data){
//スレッドで処理...
mutex->lock(); //排他
//排他内
mutex->unlock(); //排他解除
return NULL;
}
void sample_event_procedure(WSCbase* object){
//排他を行なうためのミューテックスを生成
mutex = WSDmutex::getNewInstance();
mutex->initialize();
//スレッドインスタンスを生成
WSDthread* thr = WSDthread::getNewInstance();
WSDthread* thr2 = WSDthread::getNewInstance();
//スレッドとして起動する関数を設定。
thr->setFunction(thread_proc);
thr2->setFunction(thread_proc2);
//スレッドを生成
thr->createThread(NULL);
thr2->createThread(NULL);
}
lock 関数の説明
- 書式
- long lock()
- 機能
- ミューテックスをロックします。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- initialize() を参照してください。
unlock 関数の説明
- 書式
- long unlock()
- 機能
- ミューテックスを解除します。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- initialize() を参照してください。
Document Release 3.90 For Use with WideStudio/MWT Release 3.90, Summer 2005 WideStudio/MWT Home | Up to Copyright(C) WideStudio/MWT Development Team, 1999-2005 | | Last modified: June 25, 2005 | |