xthread.h

来自「HTTP 搜索代码」· C头文件 代码 · 共 66 行

H
66
字号
#pragma once


class xThread
{
public:
	xThread(void);
	virtual ~xThread(void);

	///启动线程
	BOOL Start(LPVOID lpParam = NULL, BOOL bSuspended = FALSE);

	///继续线程
	BOOL Resume(void);

	/// 挂起线程
	BOOL Suspend(void);

	///终止线程
	void Terminate(void);

	///判断线程是否已终止
	BOOL IsTerminated(void);

	BOOL IsSuspended();

	///线程是否已启动
	BOOL IsStarted(void);

	///等待线程退出
	void WaitFor(void);


	HANDLE	getHandle(){ return m_hThread;}
	DWORD	getThreadID(){ return m_dwThreadID;}
	
	BOOL	Restart(void){ return TRUE;}
protected:

	///线程的主运行体
	virtual void Execute(LPVOID lpParam){}

	///Terminate事件
	virtual void OnTerminated(void) {}

	///标志是否已终止
	volatile BOOL m_bTerminated;

private:
	LPVOID	m_lpParam;
	///线程号
	DWORD m_dwThreadID;

	///线程句柄
	HANDLE m_hThread;



	///标志是否已挂起
	BOOL m_bIsSuspended;

	///线程例程
	static unsigned WINAPI ThreadProc(LPVOID pParam);

};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?