线程池:newCachedThreadPool、newFixedThreadPool、newSingleThreadExecutor、newScheduleThreadPool

1.newCachedThreadPool

    缓存型线程池,当提交一个线程任务先查看线程池中有没有以前建立的线程,如果有,就重复使用.如果没有,就建一个新的线程加入池中,池中线程超过TIMEOUT(TIMEOUT默认是60s)不活动,其会自动被终止移出池;

 

优点:可灵活的回收空闲线程。

缺点: 大量线程同时运行时,会造成系统瘫痪。

应用场景:缓存型线程池通常用于执行一些生存期很短的异步型任务。

 

 

2.newFixedThreadPool

 

    指定工作线程数量的线程池,当提交一个线程任务先查看线程池中有没有以前建立的线程,如果有,就重复使用.如果没有,就建一个新的线程加入池中,如果新建时工作线程数量达到线程池初始最大数,则将提交的任务存入到线程池队列中;cache池和fixed 池调用的是同一个底层 池,只不过参数不同;

 

优点:典型且优秀的线程池,它具有线程池提高程序效率和节省创建线程时所耗的开销的优点。

缺点: 在线程池空闲时,即线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。

应用场景:针对一些很稳定很固定的正规并发线程。

 

3.newSingleThreadExecutor

 

    单例线程.即只创建唯一的工作线程来执行任务,保证所有任务按照指定顺序执行,如果这个线程异常结束,会有另一个取代它,保证顺序执行,单工作线程最大的特点是可保证

顺序的执行各个任务,并且在任意给定的时间不会有多个线程是活动的。

 

优点:可保证顺序的执行各个任务。

缺点: 效率不高。

应用场景:需要严格顺序执行的任务。

 

4.newScheduleThreadPool

 

    调度型线程池,创建一个定长的线程池,而且支持定时的以及周期性的任务执行,支持定时以及周期性任务执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沙糖橘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值