Public メソッド | Static Protected メソッド
構造体 mist::lock_object

スレッドの排他制御をサポートするクラス [詳細]

#include <thread.h>

Public メソッド

bool lock ()
 排他制御用オブジェクトをロックする
bool try_lock ()
 排他制御用オブジェクトのロックを試みる
bool unlock ()
 排他制御用オブジェクトのロックを解除する

Static Protected メソッド

static lock_object_type & double_lock_object ()
 内部で使用するダブルロックオブジェクトを取得する
static void initialize (lock_object_type &l)
 ロックオブジェクトの初期化を行う
static void lock (lock_object_type &l)
 ロックオブジェクトをロックする
static bool try_lock (lock_object_type &l)
 排他制御用オブジェクトのロックを試みる
static void unlock (lock_object_type &l)
 ロックオブジェクトをロックを解除する

説明

スレッドの排他制御をサポートするクラス

ロックするオブジェクトを名前を用いて共有化することが可能なクラス. 同名のロックオブジェクトを作成することで別々のスレッド関数内での排他制御が可能となる.

注意
ロックオブジェクトの生成時点では,ロックはされないことに注意
使用例
lock_object l( "ロックオブジェクトの名前" ); // <- 名前を指定しないと,デフォルトのロックオブジェクトが使用される
... 何らかの処理 ...
l.lock( ); // <- これ以降の処理1を排他制御する
... 処理1 ...
l.unlock( ); // <- ここまでの処理1が排他制御される
... 何らかの処理 ...
l.lock( ); // <- これ以降の処理2を排他制御する
... 処理2 ...
l.unlock( ); // <- ここまでの処理2が排他制御される

関数

static void mist::lock_object::initialize ( lock_object_type &  l)
inlinestaticprotected

ロックオブジェクトの初期化を行う

引数
[in,out]l… ロックオブジェクト
bool mist::lock_object::lock ( )
inline

排他制御用オブジェクトをロックする

戻り値
true… ロックに成功
false… ロックに失敗
static void mist::lock_object::lock ( lock_object_type &  l)
inlinestaticprotected

ロックオブジェクトをロックする

引数
[in,out]l… ロックオブジェクト
bool mist::lock_object::try_lock ( )
inline

排他制御用オブジェクトのロックを試みる

既にロックされていた場合は,ロックせずに false を返す.

戻り値
true… ロックに成功
false… ロックに失敗
static bool mist::lock_object::try_lock ( lock_object_type &  l)
inlinestaticprotected

排他制御用オブジェクトのロックを試みる

既にロックされていた場合は,ロックせずに false を返す.

引数
[in,out]l… ロックオブジェクト
戻り値
true… ロックに成功
false… ロックに失敗
static void mist::lock_object::unlock ( lock_object_type &  l)
inlinestaticprotected

ロックオブジェクトをロックを解除する

引数
[in,out]l… ロックオブジェクト

この構造体の説明は次のファイルから生成されました:

Generated on Wed Nov 12 2014 19:44:29 for MIST by doxygen 1.8.1.2