线程池使用策略

一.使用线程池的两个关键点

  1.尽量减少线程切换和管理的开支

    所以使用的时候要求线程数尽量少,这样可以减少线程切换和管理的开支。

  2. 最大化利用cpu。

    这个点要求尽量多的线程数,最大化的利用cpu

二.对不同的应用场景的处理策略

  1.耗时短的场景

    这个时候尽量减少线程数,如果保证完成任务就行,如果线程太多增加了线程上下文切换的时间,效率减低。

  2.耗时长的场景

    <1>cpu类型

      这种业务时间长集中在计算操作上,也就是计算密集型任务的线程数不宜太多,再多也没用,cpu没空啊。

    <2>IO类型

      线程数应该多点,充分利用cpu,应该io操作不占用cpu,应该多点线程在跑,不要让cpu停下来空闲。

  3.高并发量

    <1>低耗时,建议线程数少些,保证并发量就行,可以设置为CPU核数+1

    <2>高耗时,首先看看数据能不能做缓存,或者加服务器,加处理任务单元。

  4.低并发量

    <1>高耗时,建议多线程,保证有空闲线程去处理任务.

转载于:https://www.cnblogs.com/JimmyFanHome/p/9925297.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值