同期実行ワーカースレッド管理クラス 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 |
ジョブが実行中か判定 | |
![]() | |
virtual s32 | getNumMaxJob (void) |
最大ジョブ数を取得 | |
GxWorkerThreadManager (void) | |
コンストラクタ | |
virtual void | terminate (void) |
終了 | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
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 |
ジョブ数 | |
![]() | |
GxWorkerThread * | _pThread [GxThread::HARDWARE_THREAD_MAX] |
スレッド | |
u32 | _numThread |
スレッド数 | |
u32 | _maxThread |
動的な最大スレッド数 | |
s32 | _maxJob |
最大ジョブ数 | |
Friends | |
定義 | |
class | GxWorkerThread |
![]() |
初期化 | |
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 | |
![]() | |
enum class | ARGUMENT_TYPE { NONE , U32 , POINTER } |
引数の種別 More... | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static constexpr u32 | WORKER_THREAD_MAX = 3 |
ハードウェアスレッド最大数-1(1個は描画スレッドに使う) | |
static constexpr s32 | INVALID_HANDLE = -1 |
無効なハンドル | |
![]() |
同期実行ワーカースレッド管理クラス
|
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.