架构:多线程工作者使用同步处理方法

时间:2014-05-19 10:46:37

标签: java multithreading synchronized

我有一个处理类和一个计算类。

处理对象将以下参数传递给计算对象中的方法:

  • 问题(类型无关紧要)
  • ExecutorService对象
  • 自我引用

在计算对象中,使用ExecutorService在多个线程中解决问题。 只要获得结果,就会调用处理对象的同步方法。

这个架构可以吗?

1 个答案:

答案 0 :(得分:0)

您可能最好将结果传递给作为处理对象成员的java.util.concurrent.BlockingQueue,而不是调用同步方法。

然后让处理对象从队列中删除结果并按照自己的步调处理它们。

同时查看java.util.concurrent javadoc。