天天看点

如何等待java线程池中所有任务完成

一、等待线程池所有线程完成:

有时候我们需要等待java thread pool中所有任务完成后再做某些操作,如想要等待所有任务完成,仅需调用threadpool.awaittermination()方法即可,请查看如下代码:

二、等待线程池指定线程完成:

如果我们仅仅想等待某些线程完成,我们可以利用future,调用future.get()可以阻塞主线程等待子线程完成。通过把调用每个线程的future放入map或list中,然后遍历需要等待完成线程的future,调用future.get() 方法: