スレッドクラス
More...
#include <GxThread.h>
|
|
|
| GxThread (void) |
| コンストラクタ
|
|
| ~GxThread (void) override |
| デストラクタ
|
|
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) |
| デフォルトオブジェクト判定
|
|
|
static GxThread * | _pThread [THREAD_MAX] = {nullptr} |
| スレッド自身のポインタ
|
|
static u32 | _num = 0 |
| 作ったスレッド数
|
|
GxNativeThread | _threadId |
| スレッドID
|
|
|
b32 | isStop (void) const |
| 停止中か判定
|
|
constexpr u32 | getIndex (void) const |
| インデックスを取得
|
|
constexpr GxRandom * | getRandomGenerator (void) const |
| 乱数発生器を取得
|
|
static GxThread * | getCurrentThread (void) |
| カレントスレッドを取得
|
|
static GX_FORCE_INLINE void | setFixThread (b32 on) |
| スレッドのCPUを固定するか設定
|
|
static GX_FORCE_INLINE b32 | isFixThread (void) |
| スレッドのCPUを固定するか判定
|
|
|
b32 | create (void *pIn, PRIORITY priority, u32 stackSize, s32 cpuIndex=-1) |
| 作成
|
|
void | suspend (void) |
| サスペンド
|
|
void | resume (void) |
| サスペンドから復帰
|
|
static b32 | casU32 (volatile u32 *pTarget, u32 oldValue, u32 newValue) |
| 符号なし32bit整数CAS(Compare-And-Swap)
|
|
static b32 | casPointer (volatile void **ppTarget, void *pOld, void *pNew) |
| ポインタCAS(Compare-And-Swap)
|
|
static void | barrierMemory (void) |
| メモリバリア
|
|
static void | atomicExchangeU32 (volatile u32 *pTarget, u32 newValue) |
| アトミックU32
|
|
static void | sleep (u32 milliSecond) |
| スリープ
|
|
virtual void | createCallback (void) |
| 作成時のコールバック関数
|
|
virtual void | threadMain (void *pArgument)=0 |
| メインループ
|
|
void | stop (void) |
| 停止(スレッド外からの呼び出し禁止)
|
|
|
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得
|
|
◆ PRIORITY
優先度
Enumerator |
---|
LOW | 最低優先
|
BELOW | 低優先
|
NORMAL | 普通
|
ABOVE | 優先
|
HIGH | 最優先
|
MAX | 定義数
|
◆ atomicExchangeU32()
void GxThread::atomicExchangeU32 |
( |
volatile u32 * | pTarget, |
|
|
u32 | newValue ) |
|
static |
アトミックU32
- Parameters
-
pTarget | [in] 対象 |
newValue | [in] 設定値 |
◆ casPointer()
b32 GxThread::casPointer |
( |
volatile void ** | ppTarget, |
|
|
void * | pOld, |
|
|
void * | pNew ) |
|
static |
ポインタCAS(Compare-And-Swap)
- Parameters
-
ppTarget | [in] 対象 |
pOld | [in] 変換前の値 |
pNew | [in] 変換後の値 |
- Returns
- 成功ならtrue
◆ casU32()
b32 GxThread::casU32 |
( |
volatile u32 * | pTarget, |
|
|
u32 | oldValue, |
|
|
u32 | newValue ) |
|
static |
符号なし32bit整数CAS(Compare-And-Swap)
- Parameters
-
pTarget | [in] 対象 |
oldValue | [in] 変換前の値 |
newValue | [in] 変換後の値 |
- Returns
- 成功ならtrue
◆ create()
b32 GxThread::create |
( |
void * | pIn, |
|
|
PRIORITY | priority, |
|
|
u32 | stackSize, |
|
|
s32 | cpuIndex = -1 ) |
作成
- Parameters
-
pArgument | [in] 引数 |
priority | [in] 優先度 |
stackSize | [in] スタックサイズ |
cpuIndex | [in] CPUインデックス |
name | [in] スレッド名 |
profile | [in] プロファイルするならtrue |
- Returns
- 成功か
◆ createCallback()
virtual void GxThread::createCallback |
( |
void | | ) |
|
|
inlineprotectedvirtual |
◆ getCurrentThread()
GxThread * GxThread::getCurrentThread |
( |
void | | ) |
|
|
static |
カレントスレッドを取得
- Returns
- カレントスレッド
◆ isStop()
b32 GxThread::isStop |
( |
void | | ) |
const |
◆ sleep()
void GxThread::sleep |
( |
u32 | milliSecond | ) |
|
|
static |
スリープ
- Parameters
-
milliSecond | [in] スリープ時間(ミリ秒) |
◆ threadMain()
virtual void GxThread::threadMain |
( |
void * | pArgument | ) |
|
|
protectedpure virtual |
The documentation for this class was generated from the following files:
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxCore/src/GxThread.h
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxCore/src/GxThread.cpp