windows下等待线程执行结束
c++11下等待线程执行结束调用thread::join实现,windows下线程属于内核对象,使用WaitForSingleObjectEx function (synchapi.h)实现。
DWORD WaitForSingleObjectEx(
[in] HANDLE hHandle,
[in] DWORD dwMilliseconds,
[in] BOOL bAlertable
);
WAIT_OBJECT_0
0x00000000L
The state of the specified object is signaled.
WAIT_TIMEOUT
0x00000102L
The time-out interval elapsed, and the object's state is nonsignaled.
WAIT_FAILED
(DWORD)0xFFFFFFFF
The function has failed. To get extended error information, call GetLastError.
传入线程句柄,当有线程执行完成后,返回WAIT_OBJECT_0
在Windows操作系统中,当需要等待一个线程执行结束时,可以使用WaitForSingleObjectEx函数,该函数是WindowsAPI的一部分,接收线程句柄并返回WAIT_OBJECT_0表示线程已完成。相比之下,在C++11标准中,可以使用thread::join方法来达到相同的效果。当调用join时,程序会阻塞,直到指定的线程执行完毕。如果等待超时,则返回WAIT_TIMEOUT,而失败则返回WAIT_FAILED,可以通过GetLastError获取错误信息。
1266

被折叠的 条评论
为什么被折叠?



