0

我有1個線程將請求放入隊列,另一個Cron作業(線程)每15分鐘運行一次,並且必須從隊列中接受所有請求並開始處理它,清空隊列。如何維護與消費者消費整個隊列的阻塞隊列的同步

如何管理此同步並確保系統中沒有請求丟失。 我曾想過使用Linked Queue。 歡迎其他建議。 我是新來的Java所以問這個天真的問題。

+0

['BlockingQueue.drainTo(Collection)'](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html#drainTo-java.util.Collection- ):*從這個隊列中刪除所有可用的元素,並將它們添加到給定的集合* – Holger

回答

0

java.util.concurrent包中,你有一大堆隊列可供處理,但是,我不認爲有一個特定的隊列僅用於上述場景。

我會建議只選擇一個阻塞隊列,並行運行一個工作,每15分鐘將排空隊列中的所有項目。

相關問題