2012-02-27 94 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旨在实现这种模式。