使用WaitForSingleObject函数。
如果该函数被调用并超时,是否仍然需要释放互斥锁?
也就是说,如果经过了五秒钟,ReleaseMutex应该处于1.
还是2.
的位置?
WaitForSingleObject(5 second time out)
{
//access shared resource
//1. - ReleaseMutex() here?
}
//2. - ReleaseMutex() here?
最佳答案
不可以。如果对WaitForSingleObject
的调用超时,则说明您尚未获取该互斥锁,因此请勿释放它。
即您只需要在位置1上添加ReleaseMutex
。