init
This commit is contained in:
33
src/EterLib/Thread.cpp
Normal file
33
src/EterLib/Thread.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include "StdAfx.h"
|
||||
#include "Thread.h"
|
||||
|
||||
CThread::CThread() : m_pArg(NULL), m_hThread(NULL), m_uThreadID(0)
|
||||
{
|
||||
}
|
||||
|
||||
int CThread::Create(void * arg)
|
||||
{
|
||||
Arg(arg);
|
||||
m_hThread = (HANDLE) _beginthreadex(NULL, 0, EntryPoint, this, 0, &m_uThreadID);
|
||||
|
||||
if (!m_hThread)
|
||||
return false;
|
||||
|
||||
SetThreadPriority(m_hThread, THREAD_PRIORITY_NORMAL);
|
||||
return true;
|
||||
}
|
||||
|
||||
UINT CThread::Run(void * arg)
|
||||
{
|
||||
if (!Setup())
|
||||
return 0;
|
||||
|
||||
return (Execute(arg));
|
||||
}
|
||||
|
||||
/* Static */
|
||||
UINT CALLBACK CThread::EntryPoint(void * pThis)
|
||||
{
|
||||
CThread * pThread = (CThread *) pThis;
|
||||
return pThread->Run(pThread->Arg());
|
||||
}
|
||||
Reference in New Issue
Block a user