char buf[1000];
GetTempPath(1000, buf);
char buf1[1000];
GetLongPathName(buf, buf1, 1000);
===================================================================
Output:
C:\Documents and Settings\IP\Local Settings\Temp\
#ifdef WIN32
class Thread
{
public:
Thread ( DWORD (WINAPI * pFun) (void* arg), void* pArg)
{
_handle = CreateThread (
0, // Security attributes
0, // Stack size
pFun,
pArg,
CREATE_SUSPENDED,
&_tid);
}
~Thread () { CloseHandle (_handle); }
void Resume () { ResumeThread (_handle); }
void WaitForDeath (int nTimeOut)
{
if (nTimeOut==INFINITE) WaitForSingleObject (_handle,INFINITE);
else WaitForSingleObject (_handle, nTimeOut*1000);
}
int nTimeOut;
private:
HANDLE _handle;
DWORD _tid; // thread id
};
#endif
사용방법
thread_func_args pthread_args(tcp_proc,socket_array[nConnection_Count-1]);
Thread thr(&CTCPComm::ValidateData_Client,&pthread_args);
thr.nTimeOut=3;
thr.Resume();
thr.WaitForDeath();
윈도우즈에서 Thread Hang이 사라짐..퍼포먼스 그런대로 괜찮음...