リソース非同期読み込み要求管理クラス(マルチリクエスト可能版) More...
#include <GxSysResource.h>


Classes | |
| class | GxAsyncLoadThreadMulti |
| 非同期ロードスレッドクラス More... | |
Public Member Functions | |
操作 | |
| GxSysResourceAsyncLoadMulti (void) | |
| デフォルトコンストラクタ | |
| ~GxSysResourceAsyncLoadMulti (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 |
| リクエスト | |
| void | lockAsyncLoad (void) override |
| 非同期読み込みロック(読み込み中のファイルは終わるまでブロック) | |
| void | unlockAsyncLoad (void) override |
| 非同期読み込みロック解除(必ず lockAsyncLoad() と対に使用すること) | |
| GX_FORCE_INLINE u32 | getMultiCount (void) const override |
| 非同期読み込み並列化の数(この実装ではスレッド数) | |
Public Member Functions inherited from GxSysResourceAsyncLoadBase | |
| GxSysResourceAsyncLoadBase (void) | |
| コンストラクタ | |
| ~GxSysResourceAsyncLoadBase (void) override | |
| デストラクタ | |
| virtual GX_FORCE_INLINE void | update (void) |
| 更新 | |
| void | loadAsync (void *pObject) |
| 非同期読み込みジョブ | |
| void | setOnTerminateCallback (void(*pFunction)(u32)) |
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) |
| デフォルトオブジェクト判定 | |
Static Public Attributes | |
定義 | |
| static constexpr u32 | MAX_MULTI_PROCESS_COUNT = GxMath::VALUE_8 |
| 最大マルチ化数 | |
Protected Attributes | |
メンバ変数 | |
| 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 |
| スレッド数 | |
Protected Attributes inherited from GxSysResourceAsyncLoadBase | |
| void(* | _onTerminateProc )(u32) |
Additional Inherited Members | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
リソース非同期読み込み要求管理クラス(マルチリクエスト可能版)
|
overridevirtual |
クリア
Reimplemented from GxSysResourceAsyncLoadBase.
Reimplemented in GxSysResourceAsyncLoadMultiWithSharedQueue.
|
inlineoverridevirtual |
非同期読み込み並列化の数(この実装ではスレッド数)
Reimplemented from GxSysResourceAsyncLoadBase.
|
overridevirtual |
初期化
| queueMax | [in] リクエストキューサイズ |
| asyncLoadThreadStackSize | [in] スタックサイズ |
| multiCount | [in] 並列数 |
| cpuIndex | [in] CPUインデックス |
| threadName | [in] スレッド名 |
Reimplemented from GxSysResourceAsyncLoadBase.
Reimplemented in GxSysResourceAsyncLoadMultiWithSharedQueue.

|
overridevirtual |
リクエストキューが空かどうか(全ての読み込みスレッドのキューが空かどうか)
Reimplemented from GxSysResourceAsyncLoadBase.
Reimplemented in GxSysResourceAsyncLoadMultiWithSharedQueue.

|
overridevirtual |
非同期読み込みロック(読み込み中のファイルは終わるまでブロック)
Reimplemented from GxSysResourceAsyncLoadBase.
リクエスト
| pResource | [in] リクエストリソース |
Reimplemented from GxSysResourceAsyncLoadBase.
Reimplemented in GxSysResourceAsyncLoadMultiWithSharedQueue.

|
overridevirtual |
終了
Reimplemented from GxSysResourceAsyncLoadBase.
Reimplemented in GxSysResourceAsyncLoadMultiWithSharedQueue.

|
overridevirtual |
非同期読み込みロック解除(必ず lockAsyncLoad() と対に使用すること)
Reimplemented from GxSysResourceAsyncLoadBase.