Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

线程池的实现以及底层原理 PDF 下载


分享到:
时间:2021-03-11 11:01来源:http://www.java1234.com 作者:转载  侵权举报
线程池的实现以及底层原理 PDF 下载
失效链接处理
线程池的实现以及底层原理 PDF 下载


本站整理下载:
提取码:cn18 
 
 
相关截图:
 
主要内容:


线程池
池化技术:减少每次获取资源的消耗,提高资源利用率。
使用线程池的好处:
降低资源消耗。通过重复利用已创建的线程,降低线程创建和销毁的造成销毁。
提高响应速度。任务到达时,任务可无须等待线程创建就能立即执行。
提高线程的可管理性。线程是稀缺资源,如果
实现Runable接口和Callable接口的区别
Callable接口:会对线程执行结果返回或抛出检查异常,需要线程执行结果和异常检测的使用Callable接口,否则使用Runable接口。
Runable接口:Runable接口代码简洁,但是不会返回结果或抛出检查异常。
执行execute()方法和submit()方法的区别
Execute方法:用于提交不需要返回值的方法,所以无法判断是否被线程池执行成功。
Submit方法:用于提交需要返回值的任务。线程池会返回一个Future类型的对象,通过Future类型对象可以判断任务是否执行成功,并可通过get()方法来获取返回值。
如何创建线程池
《阿里巴巴java开发手册》中,强制线程池不允许使用Executurs去创建,而是ThreadPoolExecutor的方式。
Executors返回线程池对象的弊端:
FixedThreadPool和SingleThreadExecutor——允许请求队列长为Integer.MAX_VALUE,可能堆积大量的请求,从而导致OOM。
CachedThreadPool和ScheduledThreadPool——允许创建的线程数为Integer.MAX_VALUE,可能会创建大量线程,从而导致OOM,
1、通过Executor框架的工具类Executors来实现三种ThreadPoollPoolExecutor:
FixedThreadPool:该方法返回一个固定线程数量的线程池。
SingleThreadExecutor:方法返回一个只有线程的线程池。
CacheedThreadPoo:该方法返回一个可根据实际情况调整线程数量的线程池。
2、ThreadPoolExecutor构造方法(全参):
CorePoolSize:核心线程数(最小同时可运行线程数)
MaxmumPoolSize:可同时运行的最大线程数
WorkQueue:新任务会优先判断当前运行的线程数量是否核心线程数。
KeepAliveTime:线程的生存时间
Unit:KeepAliveTime的单位
ThreadFactory:Executor工厂

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐