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