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