线程池

线程池就是事先将多个线程对象放到一个容器中,当时用的时候就不用new线程而是直接去线程池中拿对象就行,节省了了开辟子线程的时间,提高代码执行效率,

 

优点:

①    节省了创建线程的时间,提高相应速度

②    降低了资源消耗

③    提高了线程的可管理性,使用线程池可以统一的分配和管理

启动策略

线程池刚创建的时候,里面没有一个线程,任务对列是作为参数传递进来的

当我们使用execute添加任务时会首先判断正在运行的线程数是否大于核心线程数,小于则直接创建线程执行任务.等于则假如任务队列等待执行,

若正在执行线程数等于核心线程数,任务对列也满了,则开启新的线程

若正在运行的线程数大于或等于最大线程数,任务对列已满,则抛出异常

四种线程池

①    newCachedThreadPool创建一个可缓存线程池,若线程池长度超过处理需要则回收空线程

②    newFixedThreadPoo 创建一个定长线程池,控制线程最大并发数,超出的线程会再队列中等待

③    newScheduledThreadPool 创建一个定长线程池,支持定时级周期性执行任务

④    newSingleThreadExecutor创建一个单线程化的线程池,他会用唯一的线程执行工作任务,保证所有任务按照指定的顺序来执行(优先级)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值