【Java多线程】JUC之自己实现一个简单的线程池(二)-得窥门径

本文介绍了如何在Java中实现一个简单的线程池,包括任务完成后的通知功能和带有返回值的线程。通过自定义接口和使用AtomicInteger进行计数,实现任务执行完毕后的回调。此外,文章还探讨了JDK中ThreadPoolExecutor的使用,以及异常处理策略。
摘要由CSDN通过智能技术生成

前言

再看本文之前,强烈建议先查看上篇【Java多线程】自己实现一个简单的线程池(一)该文章主要实现了线程池的以下功能

  1. 线程池基本调度功能。
  2. 线程池自动扩容缩容。
  3. 队列缓存线程。
  4. 关闭线程池。

这些功能,最后也留下了三个待实现的 features 。

  1. 执行带有返回值的线程。
  2. 异常处理怎么办?
  3. 所有任务执行完怎么通知我?

自定义任务完成后的通知

大家在用线程池的时候或多或少都会有这样的需求:

线程池中的任务执行完毕后再通知主线程做其他事情,比如一批任务都执行完毕后再执行下一波任务等等。

如: 往线程池中提交了 13 个任务,直到所有任务都执行完毕后再打印 “所有任务执行完毕”这个日志。
在这里插入图片描述
执行结果如下:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墩墩分墩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值