Executors

      一、  初始化的几种方式 

               1、Executors.newCachedThreadPool()

               CacheThreadPool : 将为每一个任务创建一个线程(程序执行的过程中通常会创建与所需数量相同的线程),然后在回收旧线程时,停止创建新线程,因此它是合理的Executors首选。

               2、 Executors.newFixedThreadPool(5)

                FixedThreadPool :  用有限的线程集来执行提交的任务。

               3、 Executors.newSingleThreadExecutor()

                SingleThreadExecutor :    就像是线程数量为1 的FixedThreadPool,它的应用有很多,比如:

                                                            希望在另一个线程中长期存活的任务: 如监听进入的套接字连接的任务;

                                                            希望在线程中运行的短任务: 更新本地或远程日志的小任务、事件分发线程;


    二、 SingleThreadExecutor

             由于它是只有一个线程的线程池,所以如果我们向它提交多个任务,这些任务都是使用相同的线程,SingleThreadExecutor实现了维护自己的任务队列,下一个任务的开始时间,一定时上一个任务的结束时间,所以所有的任务会按提交的顺序执行。具有这个特点就可以避免并发的问题,免除加锁的操作。


       后期会持续更新,这篇博客,探讨Executors的使用,和不同的初始化对象的使用场景。

               

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值