2012-02-27 133 views
0

任務是處理大量需要保存在某種堆棧或緩衝區中的命令。 雖然有一種方法會將數據推入,但會有多個線程或進程,它們會逐個執行這些任務並處理它們。緩衝區任務處理

知道Idea是將任務保存在使用NoSQL數據庫的緩衝區中,因此我們可以獲取對象並同時刪除它。

我在想,對於這個問題,可能已經解決了某種服務器或庫,它處理多個實例之間的任務處理和分配。

有這樣的事嗎?

+2

這是一個經典的生產者/消費者問題。在webz上查看它。 – nullpotent 2012-02-27 13:06:00

+0

謝謝!有沒有一些開箱即用的實現,或者最好是通過自己的模式對其進行編碼? – wormhit 2012-02-27 13:14:39

回答

0

與好模式實現取決於您的特定需求。你的問題太籠統了,沒有比@AljoshaBre提供的評論更好的答案:「這是一個經典的生產者/消費者問題,請在webz上查看它。」如果你看看wikipedia article about producer/consumer problem,你可以在Java中找到模式實現 - 一般模式很小,但爲了滿足你的特定需求,需要更多的細節。你說了一些關於「多個實例之間的任務處理和分配」的內容,它引出了一個更具體的架構模式,稱爲分佈式消息隊列(some random ref)。 Apache項目ActiveMQ旨在實現這種模式。