文章目录
前言
再看本文之前,强烈建议先查看上篇【Java多线程】自己实现一个简单的线程池(一)该文章主要实现了线程池的以下功能
- 线程池基本调度功能。
- 线程池自动扩容缩容。
- 队列缓存线程。
- 关闭线程池。
这些功能,最后也留下了三个待实现的 features 。
- 执行带有返回值的线程。
- 异常处理怎么办?
- 所有任务执行完怎么通知我?
自定义任务完成后的通知
大家在用线程池的时候或多或少都会有这样的需求:
线程池中的任务执行完毕后再通知主线程做其他事情,比如一批任务都执行完毕后再执行下一波任务等等。
如: 往线程池中提交了 13 个任务,直到所有任务都执行完毕后再打印
“所有任务执行完毕”
这个日志。
执行结果如下:</