#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()); }