📄 platformthread.h
字号:
//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _PLATFORMTHREAD_H_
#define _PLATFORMTHREAD_H_
#ifndef _TORQUE_TYPES_H_
#include "platform/types.h"
#endif
//#ifdef TGE_RPG
#define THREAD_DECL_PRI(Name) void prio##Name()\
{ setPriority(PRI_##Name);}
//#endif
typedef void (*ThreadRunFunction)(S32);
class Thread
{
public:
//#ifdef TGE_RPG
enum Priority
{
PRI_IDLE = -15,
PRI_LOWEST = -2,
PRI_BELOW_NORMAL,
PRI_NORMAL = 0,
PRI_ABOVE_NORMAL,
PRI_HIGHEST,
PRI_TIME_CRITICAL = 15,
};
THREAD_DECL_PRI(IDLE)
THREAD_DECL_PRI(LOWEST)
THREAD_DECL_PRI(NORMAL)
THREAD_DECL_PRI(HIGHEST)
THREAD_DECL_PRI(TIME_CRITICAL)
//#endif
protected:
void * mData;
public:
Thread(ThreadRunFunction func = 0, S32 arg = 0, bool start_thread = true);
virtual ~Thread();
protected:
bool join();
public:
bool start(S32 nPrio = PRI_NORMAL);
//#ifdef TGE_RPG
bool waitForExit();
void setAutoDel(BOOL bSet);
void setPriority(S32 nPrio = PRI_NORMAL);
//#endif
void setFunc(ThreadRunFunction func, S32 arg);
virtual void run(S32 arg = 0);
bool isAlive();
static U32 getCurrentThreadId();
};
//#ifdef TGE_RPG
//inline bool Thread::wait()
//{
// return join();
//}
//#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -