64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
#ifndef WH_THREAD_HEAD_FILE
|
|
#define WH_THREAD_HEAD_FILE
|
|
|
|
#pragma once
|
|
|
|
#include "ServiceCoreHead.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//线程对象
|
|
class SERVICE_CORE_CLASS CWHThread
|
|
{
|
|
//状态变量
|
|
private:
|
|
volatile bool m_bRun; //运行标志
|
|
|
|
//线程变量
|
|
private:
|
|
UINT m_uThreadID; //线程标识
|
|
HANDLE m_hThreadHandle; //线程句柄
|
|
|
|
//函数定义
|
|
protected:
|
|
//构造函数
|
|
CWHThread();
|
|
//析构函数
|
|
virtual ~CWHThread();
|
|
|
|
//接口函数
|
|
public:
|
|
//获取状态
|
|
virtual bool IsRuning();
|
|
//启动线程
|
|
virtual bool StartThread();
|
|
//终止线程
|
|
virtual bool ConcludeThread(DWORD dwMillSeconds);
|
|
|
|
//功能函数
|
|
public:
|
|
//线程标识
|
|
UINT GetThreadID() { return m_uThreadID; }
|
|
//线程句柄
|
|
HANDLE GetThreadHandle() { return m_hThreadHandle; }
|
|
//投递消息
|
|
LRESULT PostThreadMessage(UINT uMessage, WPARAM wParam, LPARAM lParam);
|
|
|
|
//事件函数
|
|
protected:
|
|
//运行事件
|
|
virtual bool OnEventThreadRun() { return true; }
|
|
//开始事件
|
|
virtual bool OnEventThreadStrat() { return true; }
|
|
//终止事件
|
|
virtual bool OnEventThreadConclude() { return true; }
|
|
|
|
//内部函数
|
|
private:
|
|
//线程函数
|
|
static unsigned __stdcall ThreadFunction(LPVOID pThreadData);
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#endif |