偷颗菜抱回家的gravatar头像
偷颗菜抱回家 2017-01-11 12:50:24

java开发自定义线程池实例,基于maven构建

2016年10月份的时候就想自己通过所学去实现一个线程池,但是因为种种原因,并未成功。前几天想到这个项目,继续思考怎么实现,于是就有了下文。注意:本人实现的线程池只是用来学习的,有不正之处还望指出。

实现线程池,觉得最重要是实现一个线程执行完任务能够回收到池中,并且下次能够从池中拿到该线程继续使用。10月份的时候想着用数组或者List去模拟一个池,前几天思考用队列是不是会更简单,所以想做就做了。线程池的关闭也是个比较棘手的问题,关闭有两种,一种是完成任务后线程全部关闭,一种是未完成任务全部线程就要结束。

项目使用maven结构,日志打印使用log4j,想学习maven的也可以下载学习,可以实现本地与测试资源自动切换。

项目结构图如下:

java开发自定义线程池实例,基于maven构建

项目测试类main方法,初始化10个线程,执行100个任务:

java开发自定义线程池实例,基于maven构建

项目运行图,可以看到线程被重复利用了:

java开发自定义线程池实例,基于maven构建

最后是线程池关闭,执行完任务后,线程都结束了:

java开发自定义线程池实例,基于maven构建

总结下:

完成了这个线程池之后,对自己的提升也是不小的。接下来就是继续探索java之路。


打赏

文件名:threadpool.zip,文件大小:96.498K 下载
最代码最近下载分享源代码列表最近下载
heweimin  LV12 2022年7月18日
2469095052  LV8 2022年5月27日
mylzdy  LV12 2022年5月12日
2252536772  LV21 2020年7月22日
lironggang  LV37 2019年9月17日
lookerKing  LV1 2019年8月28日
huohaixiang  LV2 2019年8月19日
8317073  LV12 2019年7月16日
cj1234  LV6 2019年5月6日
191609616  LV5 2019年3月8日
最代码最近浏览分享源代码列表最近浏览
sky1044  LV1 2月19日
heweimin  LV12 2022年7月18日
xuexizhuanyong23  LV16 2022年7月3日
2469095052  LV8 2022年5月27日
mylzdy  LV12 2022年5月12日
随便取个名字_哈哈  LV26 2021年11月7日
vae222  LV2 2021年5月3日
zhou4048  LV1 2021年4月15日
xb1406112453  LV5 2021年4月14日
cuixiaoyang 2021年2月20日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友