美文网首页
线程池(八)线程池配置合理线程数

线程池(八)线程池配置合理线程数

作者: 香山上的麻雀 | 来源:发表于2020-02-07 16:48 被阅读0次

CPU密集型

  • CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。CPU密集任务只有在真正的多核CPU上才能得到加速(通过多线程) , 而在单核CPU上,无论你开几个模拟的多线程任务都不可能得到加速,因为CPU总的运算能力就那些。CPU密集任务配置尽可能少的线程数量,一般公式:CPU核数+1个线程的线程池

IO密集型

  • 由于IO密集任务线程并不是一直在执行任务,则应配置尽可能多的线程,如CPU核数*2

  • IO密集型,即该任务需要大量的IO,即大量的阻塞。 在单线程上运行IO密集型的任务会导致浪费大量的CPU运算能力浪费在等待。 所以在IO密集型任务中使用多线程可以大大的加速程序运行,即使在单核CPU上,这种加速主要就是利用了被浪费掉的阻塞时间。 IO密集型时,大部分线程都阻塞,故需要多线程配置线程数: 参考公式:CPU核心/1 - 阻塞系数 阻塞系数在0.8~0.9之间 比如8核CPU: 8/1 - 0.9 = 80 ,设置80个线程数

相关文章

  • 线程池(八)线程池配置合理线程数

    CPU密集型 CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。CPU密集任务只有在真正的多...

  • java----线程池

    什么是线程池 为什么要使用线程池 线程池的处理逻辑 如何使用线程池 如何合理配置线程池的大小 结语 什么是线程池 ...

  • ThreadPoolExecutor七大构造参数详解

    corePoolSize:线程池核心线程数(平时保留的线程数) maximumPoolSize:线程池最大线程数(...

  • 线程池原理

    线程池关键参数 核心线程数corePoolSize:线程池维护线程最少数量最大线程数 maxPollSize:线程...

  • ThreadPool

    线程池核心参数 corePoolSize: int 核心线程数 线程池初始化后,线程池中没有任何线程,线程池会等待...

  • 线程池创建多少线程比较合理

    线程池创建多少线程比较合理? 在设置线程池线程个数的时候,经常会想到这个问题,是不是设置的线程数越多越好?理解这个...

  • 线程池创建多少线程比较合理

    你知道线程池创建多少线程比较合理吗? 在设置线程池线程个数的时候,经常会想到这个问题,是不是设置的线程数越多越好?...

  • juc9-Executors

    0 线程池类图 一 ForkJoinPool 分治线程池 二 ThreadPoolExecutor 固定线程数线程...

  • 线程数优化设置,cpu、内存、io问题排查

    cpu数、核数、与线程数关系: 1、线程数究竟设多少合理 2、线程池大小设置,CPU的核心数、线程数的关系和区别,...

  • Android 线程池原理

    线程池核心类 : ThreadPoolExecutor:提供了一系列参数来配置线程池 线程池优点: 1.重用线程池...

网友评论

      本文标题:线程池(八)线程池配置合理线程数

      本文链接:https://www.haomeiwen.com/subject/sptvxhtx.html