如果我像这样在多个互斥对象上调用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
,则您拥有所有这些代码。