2013-07-05 67 views

回答

0

允許JVM喚醒等待線程而不是另一個線程調用它的notify()方法 - 所謂的「虛假喚醒」。

如果您不考慮這種可能性,則可以在等待狀態尚未實現時繼續處理,從而導致錯誤行爲。

時喚醒正確的做法是,先檢查你的線程在等待的狀態實際上已經實現,否則返回通過立即調用wait()

+0

一個代碼示例等待? – Risiko

+1

@Risiko這是一個不平凡的主題。閱讀Brian Goetz的* Java Concurrency in Practice * - 它有一整章致力於解決這個問題。 – Bohemian