线程池

创建和销毁对象是非常耗费时间的


创建对象:需要分配内存等资源
销毁对象:虽然不需要程序员操心,但是垃圾回收器会在后台一直跟踪并销毁
对于经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。
思路:创建好多个线程,放入线程池中,使用时直接获取引用,不使用时放回池中。可以避免频繁创建销毁、实现重复利用

生活案例:在尚学堂借用和归还电脑、共享单车
技术案例:线程池、数据库连接池
JDK1.5起,提供了内置线程池

 

线程池的好处
1)提高响应速度(减少了创建新线程的时间)
2)降低资源消耗(重复利用线程池中线程,不需要每次都创建)
3)提高线程的可管理性:避免线程无限制创建、从而销毁系统资源,降低系统稳定性,甚至内存溢出或者CPU耗尽

 

线程池的应用场合
1)需要大量线程,并且完成任务的时间短
2)对性能要求苛刻
3)接受突发性的大量请求

 

例题:

使用线程池执行大量的Runnable命令

 

 

 

 


使用线程池执行大量的Callable任务

 

 

线程池中有多个线程并不能很明显的提高效率,需要使用任务集合先存储任务,再进行结果输出

posted @ 2020-01-06 23:31  Princess1  阅读(107)  评论(0编辑  收藏  举报