Java几种线程池

ThreadPoolExecutor
(线程池的实现类)
在这里插入图片描述
在这里插入图片描述
**core没满,先添加core(核心线程)
否则,queue没满,扔到queue(任务队列中)
否则,noncore没满,创建noncore(非核心线程)
否则,拒绝策略

concurrent(并发是指任务提交)
parallel(并行是指任务执行,并行是并发的子集)
submit方法(带返回值)
execute方法(无返回值)**

Executors.newSingleThreadExecutor();
(一个线程的线程池,相比较于Thread,它拥有任务队列、生命周期管理)
在这里插入图片描述

Executors.newCachedThreadPool();
(无限线程池)
在这里插入图片描述

Executors.newFixedThreadPool(cpuCoreNum);
(一般都不用,自己估算,进行精确定义)
在这里插入图片描述

Executors.newScheduledThreadPool(poolSize);
(定时任务线程池)
在这里插入图片描述

ForkJoinPool
分解汇总的任务
用很少的线程可以执行很多的任务(子任务)TPE做不到先执行子任务
CPU密集型
在这里插入图片描述

Executors.newWorkStealingPool();
newWorkStealingPool不是ThreadPoolExecutor的扩展,它是新的线程池类ForkJoinPool的扩展,但是都是在统一的一个Executors类中实现,由于能够合理的使用CPU进行对任务操作(并行操作),所以适合使用在很耗时的任务中

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值