リソース非同期読み込み要求管理クラス(シングルキューを振り分ける) More...
#include <GxSysResource.h>
Classes | |
class | GxAsyncLoadThreadMultiOpt |
非同期ロードスレッドクラス More... | |
Public Member Functions | |
初期化 | |
GxSysResourceAsyncLoadMultiWithSharedQueue (void) | |
コンストラクタ | |
~GxSysResourceAsyncLoadMultiWithSharedQueue (void) override | |
デストラクタ | |
b32 | initialize (u32 queueMax, u32 asyncLoadThreadStackSize=GX_ASYNC_LOAD_THREAD_STACKSIZE, u32 multiCount=4, s32 cpuIndex=GX_ASYNC_LOAD_THREAD_CPU_INDEX) override |
初期化 | |
void | terminate (void) override |
終了 | |
操作 | |
void | clear (void) override |
クリア | |
b32 | isEmpty (void) override |
リクエストキューが空かどうか(全ての読み込みスレッドのキューが空かどうか) | |
b32 | request (GxResBase *pResource) override |
リクエスト | |
b32 | getNextRequestResource (GxResBase **pResource) |
登録情報取り出し | |
![]() | |
GxSysResourceAsyncLoadMulti (void) | |
デフォルトコンストラクタ | |
~GxSysResourceAsyncLoadMulti (void) override | |
デストラクタ | |
void | lockAsyncLoad (void) override |
非同期読み込みロック(読み込み中のファイルは終わるまでブロック) | |
void | unlockAsyncLoad (void) override |
非同期読み込みロック解除(必ず lockAsyncLoad() と対に使用すること) | |
GX_FORCE_INLINE u32 | getMultiCount (void) const override |
非同期読み込み並列化の数(この実装ではスレッド数) | |
![]() | |
GxSysResourceAsyncLoadBase (void) | |
コンストラクタ | |
~GxSysResourceAsyncLoadBase (void) override | |
デストラクタ | |
virtual GX_FORCE_INLINE void | update (void) |
更新 | |
void | loadAsync (void *pObject) |
非同期読み込みジョブ | |
void | setOnTerminateCallback (void(*pFunction)(u32)) |
![]() | |
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 | |
メンバ変数 | |
GxLockFreeQueue< GxResBase *, GxAllocatorList::ALLOCATOR_TYPE::SYSTEM > | _requestQueueSingle |
リクエストキュー(_optThreadAlignment使用時) | |
![]() | |
GxCriticalSection | _requestQueueCriticalSection |
クリティカルセクション | |
GxLockFreeQueue< GxResBase *, GxAllocatorList::ALLOCATOR_TYPE::SYSTEM > | _requestQueueMulti [MAX_MULTI_PROCESS_COUNT] |
リクエストキュー(通常処理) | |
GxAsyncLoadThreadMulti * | _threadMulti [MAX_MULTI_PROCESS_COUNT] |
非同期ロードスレッド | |
b32 | _isStopThread |
非同期ロードスレッド停止要求フラグ | |
u32 | _currentIndexOfMulti |
カレントマルチインデックス | |
u32 | _multiCount |
スレッド数 | |
![]() | |
void(* | _onTerminateProc )(u32) |
Additional Inherited Members | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
static constexpr u32 | MAX_MULTI_PROCESS_COUNT = GxMath::VALUE_8 |
最大マルチ化数 | |
リソース非同期読み込み要求管理クラス(シングルキューを振り分ける)
|
overridevirtual |
クリア
Reimplemented from GxSysResourceAsyncLoadMulti.
登録情報取り出し
ppResource | [in] キューにリソースがあればここに格納される |
|
overridevirtual |
初期化
queueMax | [in] リクエストキューサイズ |
asyncLoadThreadStackSize | [in] スタックサイズ |
multiCount | [in] 並列数 |
cpuIndex | [in] CPUインデックス |
threadName | [in] スレッド名 |
Reimplemented from GxSysResourceAsyncLoadMulti.
|
overridevirtual |
リクエストキューが空かどうか(全ての読み込みスレッドのキューが空かどうか)
Reimplemented from GxSysResourceAsyncLoadMulti.
リクエスト
pResource | [in] リクエストリソース |
Reimplemented from GxSysResourceAsyncLoadMulti.
|
overridevirtual |