WaitForMultipleObjects

WaitForMultipleObjects

如果我像这样在多个互斥对象上调用WaitForMultipleObjects:

HANDLE hMutexes[5] = {...};   //All mutexes
DWORD dwRet = WaitForMultipleObjects(5, hMutexes, TRUE, 5 * 1000);

并将dwRet作为WAIT_TIMEOUT返回,hMutexes数组中的互斥体将处于什么状态?或者,换句话说,我应该在其中任何一个上调用ReleaseMutex吗?

最佳答案

WaitForMultipleObjects函数的文档指出:



因此,您不必担心这种情况。如果WaitForMultipleObjects返回WAIT_TIMEOUT,则您不拥有任何互斥锁。如果返回WAIT_OBJECT_0,则您拥有所有这些代码。

10-08 20:04