mih*_*irg 7 windows events mutex
为什么我们需要Windows中的Mutex和事件?从某种意义上说,窗户只有Mutex吗?使用Mutex无法完成的事件可以做些什么?
Cum*_*yah 10
事件允许线程阻塞,直到某个事件(因此名称)被广播.阻止事件意味着"当事情发生时叫醒我"; 你希望能入睡.事件是一种信号机制,并为互斥体上没有提供支持,例如一旦等待它的人被唤醒就能自动清除信号.此外,API允许阻塞,直到发出一个或所有几个事件的信号.
另一方面,互斥(互斥)是共享资源的范围协调机制.想想交易.您不希望等待,但想要访问某些共享资源,并且只有在其他人已经访问它的情况下,您才会阻止.
如果你试图使用互斥锁来模拟一个事件,你就会遇到这样一个问题:一旦你获得了锁定(什么时候应该意味着"事件发出信号"),你就会把所有其他人都留下来,直到你释放锁定为止.这不是发信号通知事件的语义; 它可能会保持发布状态,并且"门"将为每个测试事件的线程打开,而不会获取任何锁定.