Java mastar-worker通信

时间:2014-06-03 09:16:08

标签: java multithreading callback threadpool master-slave

这就是我需要的:

Master任务将创建一堆Worker任务。

每个工人完成工作后,需要向主人报告。

主人收到预定义数量的回复后,会立即保存这些结果。这是必需的,因为逐个插入结果将比一次插入一堆结果花费更多的时间并等待所有结果可能导致OutOfMemoryException。

我调查了每个工作者在master上调用一个方法并将其与wait()和notify()同步,并使用ThreadPoolExecutor和afterExecute(..)方法从工人那里获取结果,但是我我还不确定达到我需要的最佳方式是什么。

编辑:我还应该提一下这是一个java应用程序。

1 个答案:

答案 0 :(得分:0)

使用BlockingQueue主人等待(queue.take())工作人员放置结果(queue.put())。