TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
CMultiThreadDispatchT< COUNT > クラステンプレート

マルチスレッド処理制御クラス [詳解]

#include <TnbThreadDispatch.h>

+ CMultiThreadDispatchT< COUNT > の継承関係図

クラス

struct  IListener
 マルチスレッド処理制御のリスナーインターフェース [詳解]
 

公開メンバ関数

 CMultiThreadDispatchT (void)
 コンストラクタ [詳解]
 
void PostMessage (UINT msg, WPARAM wParam=0)
 [送信] メッセージ送信. [詳解]
 
void PostMessageToOne (INDEX index, UINT msg, WPARAM wParam=0)
 [送信] メッセージ送信. [詳解]
 
void SetListener (IListener *l)
 [設定] リスナー登録. [詳解]
 
bool Start (void)
 [設定] スレッド開始 [詳解]
 
void Stop (void)
 [設定] スレッド停止 [詳解]
 

詳解

template<size_t COUNT>
class TNB::CMultiThreadDispatchT< COUNT >

マルチスレッド処理制御クラス

メッセージ通知で、複数のスレッドで同じ処理を同時に処理をさせることができます。
覚え書き
処理は、リスナーを実装したクラスを登録します。
引数
COUNTスレッド数
必要ファイル
TnbThreadDispatch.h
日付
12/03/23 新規作成

TnbThreadDispatch.h350 行目に定義があります。

構築子と解体子

◆ CMultiThreadDispatchT()

コンストラクタ

TnbThreadDispatch.h387 行目に定義があります。

関数詳解

◆ PostMessage()

void PostMessage ( UINT  msg,
WPARAM  wParam = 0 
)

[送信] メッセージ送信.

空いているスレッドにメッセージを通知します。空いていない場合、最初のスレッドに通知します。

覚え書き
リスナーの OnMultiDispatchReceive() に通知されます。
引数
msgメッセージ.
wParamWPARAM

TnbThreadDispatch.h414 行目に定義があります。

◆ PostMessageToOne()

void PostMessageToOne ( INDEX  index,
UINT  msg,
WPARAM  wParam = 0 
)

[送信] メッセージ送信.

指定のスレッドにメッセージを通知します。

覚え書き
リスナーの OnMultiDispatchReceive() に通知されます。
引数
indexスレッドインデックス。 0以上、 COUNT 未満が指定できます。
msgメッセージ.
wParamWPARAM

TnbThreadDispatch.h437 行目に定義があります。

◆ SetListener()

void SetListener ( IListener l)

[設定] リスナー登録.

引数
lリスナー

TnbThreadDispatch.h402 行目に定義があります。

◆ Start()

bool Start ( void  )

[設定] スレッド開始

戻り値
true成功。
false失敗(スレッド起動失敗/既にスレッド実行中)

TnbThreadDispatch.h451 行目に定義があります。

◆ Stop()

void Stop ( void  )

[設定] スレッド停止

TnbThreadDispatch.h472 行目に定義があります。