注意:_beginthreadex函数需要加 process.h 头文件
m_hThread = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, NULL, 0, NULL);
unsigned __stdcall ThreadFunc (void* pArguments)
{
CHDTLog* pLog = CHDTLog::Instance() ;
for (int i = 0; i < 10000; ++i)
{
char nstr[255] = {0} ;
itoa (i, nstr, 10) ;
pLog->WriteLogWarn(nstr, (char*)pArguments) ;
memset (nstr, 0, 255) ;
}
return 0 ;
}
char* a = "th1" ;
char* b = "th2" ;
char* c = "th3" ;
char* d = "th4" ;
HANDLE m_hThread1 = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, a, CREATE_SUSPENDED, NULL);
HANDLE m_hThread2 = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, b, CREATE_SUSPENDED, NULL);
HANDLE m_hThread3 = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, c, CREATE_SUSPENDED, NULL);
HANDLE m_hThread4 = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, d, CREATE_SUSPENDED, NULL);
ResumeThread (m_hThread1) ;
ResumeThread (m_hThread2) ;
ResumeThread (m_hThread3) ;
ResumeThread (m_hThread4) ;
Sleep (15000) ;
CloseHandle (m_hThread1) ;
CloseHandle (m_hThread2) ;
CloseHandle (m_hThread3) ;
CloseHandle (m_hThread4) ;