1
我有一個消費者線程,採用LinkedBlockingQueue
中的元素,並在空閒時手動進行休眠。我使用peek()
來查看隊列是否爲空,因爲在發送線程進入睡眠之前我必須做些什麼,並且我使用queue.wait()
來做到這一點。LinkedBlockingQueue上的add()是否通知等待線程?
所以,當我在另一個線程和add()
隊列的元素是,是否自動通知,這是wait()
荷蘭國際集團在隊列中的線程?
它實際上在內部具有兩個鎖,一個處理隊列空情況的通知,另一個處理隊列滿的情況。他們是'私人的' - 有很好的理由 - 所以使用API是爲了使用它。 – 2010-06-07 00:08:55