123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef __THREADBASE_H__
- #define __THREADBASE_H__
- //线程状态
- typedef enum _THREADSTATUS
- {
- THREADSTATUS_STOP = 0, // 停止
- THREADSTATUS_WAIT, // 等待
- THREADSTATUS_RUNNING, // 运行
- THREADSTATUS_EXIT, // 线程退出
- THREADSTATUS_END // 程序结束
- }THREADSTATUS;
- class CThreadBase
- {
- public:
- CThreadBase();
- virtual ~CThreadBase();
- virtual int Start();
- virtual int Stop();
- virtual void WakeUp();
- virtual void Exit();
-
- virtual THREADSTATUS Run() = 0;
- THREADSTATUS GetThreadStatus(){return m_ThreadStatus;}
- void SetThreadStatus(IN CONST THREADSTATUS status){m_ThreadStatus = status;}
- HANDLE GetThreadHanle(){return m_hThread;}
- unsigned int GetThreadID(){return m_nThreadID;}
- void Close();
- protected:
- int m_nIndex;
- HANDLE m_hThread;
- unsigned int m_nThreadID;
- THREADSTATUS m_ThreadStatus; // 线程状态
- HANDLE m_hWakeUpSignal; // 唤醒事件
- HANDLE m_hExitEvent; // 退出
- HANDLE m_hEvent[2]; // (执行和退出)事件
- };
- #endif //#ifndef __THREADBASE_H__
|