同期実行ワーカースレッド管理クラス More...
#include <GxThread.h>


Public Member Functions | |
アクセサ | |
| GX_FORCE_INLINE u32 | getMaxThread (void) override |
| 最大スレッド数を取得 | |
| GX_FORCE_INLINE u32 | getNumThread (void) override |
| スレッド数を取得 | |
| GX_FORCE_INLINE u32 | getNumWorkerThread (void) |
| ワーカースレッド数を取得 | |
| GX_FORCE_INLINE void | setNumWorkerThread (u32 num) |
| スレッド数を設定 | |
| GX_FORCE_INLINE b32 | isExecuteJob (void) const |
| ジョブが実行中か判定 | |
Public Member Functions inherited from GxWorkerThreadManager | |
| virtual s32 | getNumMaxJob (void) |
| 最大ジョブ数を取得 | |
| GxWorkerThreadManager (void) | |
| コンストラクタ | |
| virtual void | terminate (void) |
| 終了 | |
Public Member Functions inherited from GxClassBase | |
| constexpr | GxClassBase (void) |
| コンストラクタ | |
| constexpr | GxClassBase (const GxClassBase &base) |
| コピーコンストラクタ | |
| ~GxClassBase (void) override | |
| デストラクタ | |
Public Member Functions inherited from GxClassBaseRoot | |
| constexpr | GxClassBaseRoot (void) |
| コンストラクタ | |
| constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| コピーコンストラクタ | |
| virtual | ~GxClassBaseRoot (void) |
| デストラクタ | |
| constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| 代入演算子 | |
| virtual GxRtti & | getRtti (void) const =0 |
| Rttiの取得 | |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| デフォルトオブジェクトを取得 | |
| GX_FORCE_INLINE b32 | isDefaultObject (void) |
| デフォルトオブジェクト判定 | |
Protected Attributes | |
メンバ変数 | |
| GxJobInformation * | _pJobInformation |
| ジョブ情報 | |
| s32 | _executeJobIndex |
| 実行しているジョブインデックス | |
| b32 | _useMainThreadFlag |
| メインスレッドを使用するか | |
| b32 | _executeJobFlag |
| ジョブ実行中フラグ | |
| s32 | _numJob |
| ジョブ数 | |
Protected Attributes inherited from GxWorkerThreadManager | |
| GxWorkerThread * | _pThread [GxThread::HARDWARE_THREAD_MAX] |
| スレッド | |
| u32 | _numThread |
| スレッド数 | |
| u32 | _maxThread |
| 動的な最大スレッド数 | |
| s32 | _maxJob |
| 最大ジョブ数 | |
Friends | |
定義 | |
| class | GxWorkerThread |
Friends inherited from GxWorkerThreadManager | |
初期化 | |
| GxSequentialThreadManager (void) | |
| デフォルトコンストラクタ | |
| GxSequentialThreadManager (b32 useMainThreadFlag) | |
| コンストラクタ | |
| ~GxSequentialThreadManager (void) override | |
| デストラクタ | |
| void | initialize (GxThread::PRIORITY priority, s32 maxJob, u32 stackSize=GX_WORKER_THREAD_STACKSIZE) override |
| 初期化 | |
| void | initializeThreadLocalStorage (void) override |
| TLSの初期化 | |
操作 | |
| s32 | addJob (GxClassBaseRoot *pObject, GX_OBJECT_FUNCTION pFunction) override |
| ジョブ追加 | |
| s32 | addJob (GxClassBaseRoot *pObject, GX_OBJECT_FUNCTION_PARAM pFunction, u32 argument, ARGUMENT_TYPE argumentType=ARGUMENT_TYPE::U32) override |
| ジョブ追加 | |
| s32 | addJob (GxClassBaseRoot *pObject, GX_OBJECT_FUNCTION_POINTER pFunction, void *pArgument) override |
| ジョブ追加 | |
| void | startJob (void) override |
| ジョブ実行開始 | |
| void | executeJob (GxThread *pThread) override |
| ジョブ実行 | |
| virtual void | startWorkerThreadAll (void) |
| ワーカースレッド実行開始 | |
| GX_FORCE_INLINE b32 | isComplete (void) override |
| 全てのジョブが完了したか | |
Additional Inherited Members | |
Public Types inherited from GxWorkerThreadManager | |
| enum class | ARGUMENT_TYPE { NONE , U32 , POINTER } |
| 引数の種別 More... | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
Static Public Attributes inherited from GxWorkerThreadManager | |
| static constexpr u32 | WORKER_THREAD_MAX = 3 |
| ハードウェアスレッド最大数-1(1個は描画スレッドに使う) | |
| static constexpr s32 | INVALID_HANDLE = -1 |
| 無効なハンドル | |
Protected Member Functions inherited from GxWorkerThreadManager | |
同期実行ワーカースレッド管理クラス
|
overridevirtual |
ジョブ追加
| pObject | [in] オブジェクト |
| pFunction | [in] 関数 |
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.

|
overridevirtual |
ジョブ追加
| pObject | [in] オブジェクト |
| pFunction | [in] 関数 |
| argument | [in] 引数 |
| argumentType | [in] 引数の種類 |
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.
|
overridevirtual |
ジョブ追加
| pObject | [in] オブジェクト |
| pFunction | [in] 関数 |
| argument | [in] 引数 |
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.
|
overrideprotectedvirtual |
ジョブ実行
| pThread | [in] スレッド |
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.


|
inlineoverridevirtual |
|
inlineoverridevirtual |
スレッド数を取得
Reimplemented from GxWorkerThreadManager.
|
overridevirtual |
初期化
| priority | [in] 優先度 |
| maxJob | [in] ジョブ最大数 |
| name | [in] スレッド名 |
| stackSize | [in] スタックサイズ |
Reimplemented from GxWorkerThreadManager.


|
inlineoverrideprotectedvirtual |
TLSの初期化
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMain.

|
inlineoverrideprotectedvirtual |
全てのジョブが完了したか
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.

|
overridevirtual |
ジョブ実行開始
Implements GxWorkerThreadManager.
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.


|
protectedvirtual |
ワーカースレッド実行開始
Reimplemented in GxSysMain::GxSequentialThreadManagerMainPrecede.

