我正在使用Executor框架使用线程池(例如newFixedThreadPool)启动多个线程。我使用threadpool.submit(aThread)提交要由线程池执行的作业,并且此工作正常,但是我需要确定所有线程何时完成,以便我可以继续进行其他处理。我看着使用Future.get()来阻塞,直到线程完成,这里的问题是阻塞直到结果可用。我还着眼于在发出关闭之后不断调用isTerminated()方法并随后进入睡眠状态,以检查所有线程是否完整,但这对我来说似乎并不整齐。有没有另一种更清洁的方法呢?此外,如果在任何一个线程中发生异常,我希望能够终止所有其他正在运行的线程,并且还可以停止启动池中的任何排队线程。什么是最好的机制来做到这一点?知道所有线程何时完成并处理异常
敬候您的答复
TIA