我不明白爲什麼下一個代碼不起作用。它編譯正確,但不輸出任何內容。你可以幫我嗎?具有等待功能的簡單線程
HANDLE hEvent;
unsigned int WINAPI MyThread(void *p)
{
WaitForSingleObject(hEvent, INFINITE);
_tprintf(TEXT("%s\n"),p);
return 0;
}
int _tmain(int argc, TCHAR *argv[])
{
hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
unsigned int ThreadID;
HANDLE hThread1 = (HANDLE)_beginthreadex(NULL, 0, MyThread, L"hello world", 0, &ThreadID);
SetEvent(hEvent);
return 0;
}
這是可行的,但我會認爲等待線程處理會更好。特別是如果有人出現並編輯線程方法,使其具有像'_endthreadex(259);'當然這將是邪惡的線:) – pstrjds
你是絕對正確的,對於那些想知道他的意思是由exitcode 259它是什麼意思是STILL_ACTIVE的值,這意味着如果返回259,雖然線程結束,但while循環將爲true。 – 2012-10-17 18:57:08