全部版块 我的主页
论坛 数据科学与人工智能 IT基础 JAVA语言开发
623 0
2022-08-04
构建数据工程师能力模型,实战八大企业级项目内置文档资料
download链接:https://pan.baidu.com/s/14r2FkkCi3ykN_DfCikj18A?pwd=ul02
提取码:ul02
--来自百度网盘超级会员V5的分享
Java线程池Executor详解
我们最常运用的Executors完成创立线程池运用线程主要是用上述类图中提供的类。在上边的类图中,包含了一个Executor框架,它是一个依据一组执行战略的调用调度执行和控制异步任务的框架,目的是提供一种将任务提交与任务如何运转别离开的机制。它包含了三个executor接口:

Executor:运转新任务的简单接口
ExecutorService:扩展了Executor,添加了用来管理执行器生命周期和任务生命周期的办法
ScheduleExcutorService:扩展了ExecutorService,支持Future和定期执行任务

线程池的益处

降低资源耗费-重用存在的线程,减少对象创立、消亡的开支,性能好
进步响应速度 -可有效控制最大并发线程数,进步系统资源应用率,同时能够防止过多资源竞争,防止阻塞。当任务抵达时,任务可不用等候线程创立就能立刻执行
进步线程的可管理性-提供定时执行、定期执行、单线程、并发数控制等功用。

new Thread的弊端

每次new Thread 新建对象,性能差
线程缺乏统一管理,可能无限制的新建线程,互相竞争,可能占用过多的系统资源招致死机或者OOM(out of memory 内存溢出),这种问题的缘由不是由于单纯的new一个Thread,而是可能由于程序的bug或者设计上的缺陷招致不时new Thread形成的。
短少更多功用,如更多执行、定期执行、线程中缀。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群