线程池使用策略

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

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

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

  2. 最大化利用cpu。

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

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

  1.耗时短的场景

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

  2.耗时长的场景

    <1>cpu类型

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

    <2>IO类型

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

  3.高并发量

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

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

  4.低并发量

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

posted @ 2018-11-07 20:05  AJimmyFang  阅读(327)  评论(0编辑  收藏  举报