我有一个对象列表,我需要推送到不同的Web服务。我想要平行化。现在我想知道ForkJoinPool是否是正确的方法?由于任务不是递归的,我不确定。另一方面,我听说ForkJoinPool的性能比例如Executor服务更好。
答案 0 :(得分:0)
您正在寻找Task Parallelism,而FJP是Data Parallelism框架。但谁真正关心。
对于您能做什么/不能做什么,没有正式的限制。可能你只能fork()不同的类而不是将对象分成碎片。如果您使用的是Java8,那么CountedCompleter类应该是比RecursiveTask类更好的选择。
注意join()。在Java7中,它创建了延续线程。在Java8中,它往往会停止,直到join()完成。这就是我推荐Java8中的CountedCompleter类的原因。
尝试一下,让我们知道它是如何工作的。