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
,表示创建线程失败。通过遵循这些步骤,您可以有效地管理线程生命周期,包括创建、执行、同步和清理。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:C++如何确保_beginthreadex创建线程的安全性