在生產者 - 消費者問題中,我想使用LinkedBlockingQueue
作爲共享緩衝區。BlockingQueue有最大阻塞時間
生產者線程使用put()
方法在隊列上放置一個元素,使用者線程使用take()
方法消耗隊列中的元素。
我的問題是:說如果隊列是空的,並且消費者線程調用take()
方法,我知道線程被阻塞,直到生產者將一個元素放到隊列中。但有沒有像最大阻滯持續時間?我可以安全地假設消費者線程將被阻止,直到撥打put()
?
我聽到有人說永遠沒有像塊一樣的東西。這是真的嗎?