 | | WideStudio/MWT Class Reference
| |
クラスの型
WSDsemaphore
メソッド関数仕様
getNewInstance() 関数の説明
- 書式
- WSDsemaphore* WSDsemaphore::getNewInstance()
- 機能
- WSDsemaphore インスタンスを取得します。
WSDsemaphore インスタンスは、new 演算子で生成せず、
この getNewInstance() メンバ関数で生成します。
- 処理
-
- 引数
- なし。
- 返値
- WSDsemaphore インスタンスへのポインタ
- 注意
- この関数はスタティック関数です。
- サンプル
- initialize() を参照してください。
initialize 関数の説明
- 書式
- long initialize()
- 機能
- セマフォを初期化します。
使用前に、一度初期化を行なって下さい。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- メインスレッドとサブスレッドにおいて
同期処理を行なう例です。
WSDsemaphore* sem = NULL;
void* thread_proc(WSDsemaphore* thr,void* data){
sem->lock(); //同期待ち
//スレッドで処理...
return NULL;
}
void sample_event_procedure(WSCbase* object){
//排他を行なうためのミューテックスを生成
sem = WSDsemaphore::getNewInstance();
sem->initialize();
sem->lock();
//スレッドインスタンスを生成
WSDthread* thr = WSDthread::getNewInstance();
//スレッドとして起動する関数を設定。
thr->setFunction(thread_proc);
//スレッドを生成
thr->createThread(NULL);
// セマフォを解除し同期待ちしているスレッドを起こす
sem->unlock();
}
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 | |