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
,表示创建线程失败。通过遵循这些步骤,您可以有效地管理线程生命周期,包括创建、执行、同步和清理。