www.pudn.com > 221315556.rar > BaseThread.h


#pragma once 
#include  
#include  
class CBaseThread 
{ 
public: 
	CBaseThread(void); 
	virtual ~CBaseThread(void); 
private: 
	// 线程处理函数 
	static DWORD ThreadProc(LPVOID lpParam); 
protected: 
	// 真正的线程处理函数 
	virtual DWORD Proc(LPVOID lpParam); 
	LPVOID		m_lpParam; 
	HANDLE	m_hThread2; 
	HANDLE	m_hThread; 
	DWORD	m_dwThreadId; 
	HANDLE	m_hExitEvent; 
public: 
	// 创建线程 
	virtual HANDLE Create(DWORD dwStackSize, LPVOID lpParam, DWORD* pId); 
	// 安全退出线程 
	BOOL SafeTerminate(DWORD dwWaitTime); 
protected: 
	virtual VOID OnStart(void); 
	virtual VOID OnExit(void); 
public: 
	virtual BOOL WaitForTerminate(void); 
protected: 
	// 测试线程是否活跃 
	virtual BOOL ThreadActive(void); 
public: 
	// 暴力结束线程 
	virtual BOOL Terminate(void); 
};