TNB Library
クラス | 静的公開メンバ関数 | 全メンバ一覧
CThreadlet クラス

簡易スレッド実行クラス [詳解]

#include <TnbThread.h>

クラス

struct  IRunner
 簡易スレッド実行クラスのランナー [詳解]
 

静的公開メンバ関数

static bool Start (LPARAM lParam, IRunner *piRunner, bool withDelete=true, int priority=THREAD_PRIORITY_NORMAL)
 [設定] スレッド開始 [詳解]
 

詳解

簡易スレッド実行クラス

IRunner を渡すことで、スレッドを起動します。
IRunner が終了したタイミングで、メモリも開放することも出来ます。
覚え書き
本クラスはインスタンスは作らず、 Start() クラスメソッドを使います。
注意
スレッドの状態や監視もしません。 プロセスが終了する前にスレッドが終わっているようにしてください。
使用例
//宣言
struct IFooRunner : public CThreadlet::IRunner
{
virtual void Run(LPARAM lParam)
{
::MessageBox(NULL, _T("ABC"), _T("XYZ"), MB_OK);
};
};
//実行
CThreadlet::Start(12, new IFooRunner);
static bool Start(LPARAM lParam, IRunner *piRunner, bool withDelete=true, int priority=THREAD_PRIORITY_NORMAL)
[設定] スレッド開始
Definition: TnbThread.h:810
必要ファイル
TnbThread.h
日付
06/05/01 新規作成
06/08/03 スレッド作成に _beginthread を使用するようにした。
06/09/19 同期に Exchanger を使うようにした。
09/12/08 Start の引数、追加。
10/01/14 プライオリティの設定方法を明記。

TnbThread.h775 行目に定義があります。

関数詳解

◆ Start()

static bool Start ( LPARAM  lParam,
IRunner piRunner,
bool  withDelete = true,
int  priority = THREAD_PRIORITY_NORMAL 
)
static

[設定] スレッド開始

引数
lParamLPARAM 。
piRunnerランナー。withDelete が true なら必ず new したものを渡します。
withDeletetrue ならスレッド終了時に piRunner を delete します。
priority優先度。 CThreadStatus::GetPriority() の戻り値を参照。
戻り値
true成功
false失敗

TnbThread.h810 行目に定義があります。