我正在使用ExecutorService处理数千个小的独立任务。每个任务完成后都会存储结果(为true或false)。
因此,如果任务找到了答案,我想过早地关闭线程池,而不是处理所有任务!
感觉好像我在这里遗漏了一些非常明显的东西...
最佳答案
考虑使用invokeAny
方法。仅完成一项操作后返回。
http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html#invokeAny(java.util.Collection)