雙向信號和競賽(Two-Way Signaling and Races)
Monitor.Pulse方法的一個重要特性是它是異步執行的,這意味著調用pulse方法并不會阻塞自己等待Monitor.Pulse返回。如果任何一個線程在pulsed 對象上等待,它是不會阻塞的,換句話說,調用Monitor.Pulse對程序不會有什么作用,你可以認為Monitor.Pulse方法被忽略了。
這樣Pulse提供了一個單向通信:一個 pulsing線程悄悄的向一個waiting 線程發送信號。
Pulse并不會返回一個值來告訴你waiting線程是否收到信號。
但是有時候我們需要知道waiting線程是否受到信號,例如下面的例子:
新聞熱點
疑難解答