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()
)中完成了哪个任务或可调用
我该怎么做,或者其他什么功能?
答案 0 :(得分:0)
好吧,它完全依赖于JVM和任务如何由JVM处理。