如何确认面试突击35中的线程池任务全部执行完毕?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3139个文字,预计阅读时间需要13分钟。
在许多场景下,我们需要等待线程池中所有任务执行完毕后,再进行下一步操作。对于线程+Thread来说,实现这个功能很好,只需加一个join()方法即可。然而,对于线程池的判断就相对复杂了。我“
很多场景下,我们需要等待线程池的所有任务都执行完,然后再进行下一步操作。对于线程 Thread 来说,很好实现,加一个 join 方法就解决了,然而对于线程池的判断就比较麻烦了。
我们本文提供 4 种判断线程池任务是否执行完的方法:
- 使用 isTerminated 方法判断。
- 使用 getCompletedTaskCount 方法判断。
- 使用 CountDownLatch 判断。
- 使用 CyclicBarrier 判断。
接下来我们一个一个来看。
本文共计3139个文字,预计阅读时间需要13分钟。
在许多场景下,我们需要等待线程池中所有任务执行完毕后,再进行下一步操作。对于线程+Thread来说,实现这个功能很好,只需加一个join()方法即可。然而,对于线程池的判断就相对复杂了。我“
很多场景下,我们需要等待线程池的所有任务都执行完,然后再进行下一步操作。对于线程 Thread 来说,很好实现,加一个 join 方法就解决了,然而对于线程池的判断就比较麻烦了。
我们本文提供 4 种判断线程池任务是否执行完的方法:
- 使用 isTerminated 方法判断。
- 使用 getCompletedTaskCount 方法判断。
- 使用 CountDownLatch 判断。
- 使用 CyclicBarrier 判断。
接下来我们一个一个来看。

