⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 platformthread.h

📁 五行MMORPG引擎系统V1.0
💻 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 + -