JAVA ThreadPool

概述

为了避免系统频繁的创建和销毁线程所带来的性能消耗,可以让线程得到很好的复用。当需要线程时从线程池中取,当使用完归还线程。

创建线程池方式

创建固定数量的线程池 创建一个数量的线程池 创建根据实际情况调整线程数量的线程池 创建一个执行定时任务的线程池 创建执行定时任务的线程池

任务队列

当任务被提交尚未执行的任务队列是一个BlockingQueue接口对象,只存放Runnable对象,根据队列的功能分为 SynchronousQueue ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue

拒绝策略

如果线程池处理速度达不到任务出现速度时,只能执行拒绝策略。 AbortPolicy CallerRunsPolicy DiscardOledestPolicy DiscardPolicy

线程数量优化规则

公式进行粗略计算:线程池个数=CPU的数量CPU的使用率(1+等待时间/计算时间)

Fork/Join

最后看下分而治之:Fork/Join

参考资料:

Fork/Join使用

分布式框架中使用CompletableFuture

转载于:https://my.oschina.net/u/1033181/blog/3054507

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值