Files
2026-03-03 13:56:44 +08:00

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