如何使用ExecutorCompletionService

时间:2010-01-30 22:46:30

标签: java

我想在ExecutorCompletionService上使用带有预定义BlockingQueue的构造函数。

任何人都可以提供代码段来展示如何完成此操作。似乎只需要BlockingQueue Future。这与提交必须使用Callable s。

的事实相匹配

我在这里有点困惑 - 请帮忙......

2 个答案:

答案 0 :(得分:1)

javadoc for ExecutorCompletionService中包含大量代码示例,文档化构造函数需要BlockingQueue

答案 1 :(得分:1)

提供给submit()Callables将在内部包装为FutureTask,并且最终将插入到提供的队列中的那些(或一个包装器)。但这都是一个实现细节。 (并且,请注意,将结果插入队列的这种用例是FutureTask中存在受保护的done()方法的主要原因。)合同表明结果产生函数进入,并且最终结果出来了。从队列中抽取的Future代表您之前提交的函数的最终结果。