当一个互斥对象不再被一个线程所拥有,它就处于发信号状态。此时首先调用WaitForSingleObject函数的线程就成为该互斥对象的拥有者,次互斥对象设为不发信号状态。当线程调用ReleaseMutex函数并传递一个互斥对象的句柄作为参数时,这种拥有关系就被解除,互斥对象就重新进入发信号状态。

解决方案 »

  1.   

    sundayboys(sunboy)
      我知道你的意思,你看我这样理解对不对,所谓的发射状态就是说此互斥对象处于空闲中,只有调用了WaitForSingleObject函数,此互斥对象才被调用它的线程所拥有,换句话说,此线程就得到保护了,也就是同步了,那么此互斥对象的状态也就成了非发射状态,一旦线程结束,互斥对象又成了发射状态. 
      

  2.   

    复人: geliang(太阳的光芒) (2001-8-19 14:10:51)  得0分 
    sundayboys(sunboy)
      我知道你的意思,你看我这样理解对不对,所谓的发射状态就是说此互斥对象处于空闲中,只有调用了WaitForSingleObject函数,此互斥对象才被调用它的线程所拥有,换句话说,此线程就得到保护了,也就是同步了,那么此互斥对象的状态也就成了非发射状态,一旦线程结束,互斥对象又成了发射状态.   
    ----------------
    你这种概念应该是对的。就我的理解,只是大家说法不同而已。我就讲互斥对象的锁定与解锁,互斥对象锁定后,其他对象对其进行申请,只能等待。等待,那个原先进行锁定的对象
    进行接锁。在这期间,那些申请的对象只能等。
    --------这只是我的理解,也帮你提前了。