BeginThreadEx
是 Windows API 函數,用于創建一個新的線程。要管理線程生命周期,您需要遵循以下步驟:
DWORD WINAPI
簽名,并返回一個 DWORD
值。DWORD WINAPI ThreadFunction(LPVOID lpParam);
BeginThreadEx
:在主線程中,調用 BeginThreadEx
函數以創建新線程。傳遞線程函數的地址、傳遞給線程的任何參數以及一個指向 DWORD
類型變量的指針,該變量將存儲線程的退出代碼。HANDLE hThread = BeginThreadEx(NULL, 0, ThreadFunction, NULL, CREATE_SUSPENDED, &threadId);
ResumeThread
函數恢復新線程的執行。ResumeThread(hThread);
WaitForSingleObject
或 WaitForMultipleObjects
函數等待線程完成執行。WaitForSingleObject(hThread, INFINITE);
CloseHandle
函數關閉線程句柄。CloseHandle(hThread);
BeginThreadEx
時,檢查返回值是否為 NULL
,表示創建線程失敗。通過遵循這些步驟,您可以有效地管理線程生命周期,包括創建、執行、同步和清理。