繁体   English   中英

Java ExecutorCompletionService如何知道返回哪个任务

[英]Java ExecutorCompletionService How know which task is returned

ExecutorService serv = Executors.newFixedThreadPool(5);
CompletionService<Integer> servive = new ExecutorCompletionService<>(serv);

for (int i = 0; i < 5; i++) {
  servive.submit(new MyTask(i));
}

for (int i = 0; i < 5; i++) {
  Future<Integer> f = null;
  try {
    f = servive.take();
  } catch (InterruptedException e) {
    e.printStackTrace();
  }
  //f.get()
}

我想知道在第一个结果中完成了哪个任务或可调用对象( f.get()
我该怎么做,或者还有什么其他功能?

好吧,它完全取决于JVM和任务,如何由JVM处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM