DragonNest/Common/NetworkLib/Thread.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

38 lines
819 B
C++

#pragma once
class Thread
{
public:
Thread(const char* szThreadNick);
virtual ~Thread();
bool Start();
bool Terminate( DWORD nExitCode );
bool WaitForTerminate( DWORD nTimeout = INFINITE );
DWORD_PTR SetThreadAffinityMask( DWORD dwMask );
protected:
virtual void Run() = 0;
HANDLE m_hThreadHandle;
unsigned int m_nThreadID;
bool m_bRunning;
char m_szThreadNick[128];
private:
static unsigned int WINAPI _Runner( void * pParam );
static void SetThreadName( DWORD dwThreadID, const char* szThreadName);
private:
//
typedef struct tagTHREADNAME_INFO
{
DWORD dwType; // must be 0x1000
LPCSTR szName; // pointer to name (in user addr space)
DWORD dwThreadID; // thread ID (-1=caller thread)
DWORD dwFlags; // reserved for future use, must be zero
} THREADNAME_INFO;
};