【发布时间】:2012-08-09 17:49:11
【问题描述】:
我有一个使用CreateMutex 创建的互斥锁,然后我使用WaitForSingleObject 在某个线程上等待,直到互斥锁被释放并获得它的所有权(没有超时)。
所以,如果函数返回WAIT_OBJECT_0,我可以继续我的婚姻并执行线程的代码。
但是,如果函数返回 WAIT_ABANDONED,我是否仍然可以执行代码,期待在我的 Mutex 上调用 WaitForSingleObject 的任何其他线程会卡住,直到我释放?
如果拥有线程在没有释放 Mutex 的情况下终止,我希望调用线程获得所有权并且一切照常进行。
编辑:让我感到困惑的是,MSDN 说在情况 (2) 中互斥锁的状态未发出信号,因为它与发出信号的状态 (1) 相反。这对我意味着什么?
【问题讨论】:
标签: c++ multithreading winapi mutex