Files

64 lines
1.3 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#ifndef WH_THREAD_HEAD_FILE
#define WH_THREAD_HEAD_FILE
#pragma once
#include "ServiceCoreHead.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F>̶߳<DFB3><CCB6><EFBFBD>
class SERVICE_CORE_CLASS CWHThread
{
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
private:
volatile bool m_bRun; //<2F><><EFBFBD>б<EFBFBD>־
//<2F>̱߳<DFB3><CCB1><EFBFBD>
private:
UINT m_uThreadID; //<2F>̱߳<DFB3>ʶ
HANDLE m_hThreadHandle; //<2F>߳̾<DFB3><CCBE><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
protected:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CWHThread();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CWHThread();
//<2F>ӿں<D3BF><DABA><EFBFBD>
public:
//<2F><>ȡ״̬
virtual bool IsRuning();
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
virtual bool StartThread();
//<2F><>ֹ<EFBFBD>߳<EFBFBD>
virtual bool ConcludeThread(DWORD dwMillSeconds);
//<2F><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>
public:
//<2F>̱߳<DFB3>ʶ
UINT GetThreadID() { return m_uThreadID; }
//<2F>߳̾<DFB3><CCBE><EFBFBD>
HANDLE GetThreadHandle() { return m_hThreadHandle; }
//Ͷ<><CDB6><EFBFBD><EFBFBD>Ϣ
LRESULT PostThreadMessage(UINT uMessage, WPARAM wParam, LPARAM lParam);
//<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
protected:
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual bool OnEventThreadRun() { return true; }
//<2F><>ʼ<EFBFBD>¼<EFBFBD>
virtual bool OnEventThreadStrat() { return true; }
//<2F><>ֹ<EFBFBD>¼<EFBFBD>
virtual bool OnEventThreadConclude() { return true; }
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
private:
//<2F>̺߳<DFB3><CCBA><EFBFBD>
static unsigned __stdcall ThreadFunction(LPVOID pThreadData);
};
//////////////////////////////////////////////////////////////////////////////////
#endif