美文网首页
如何确定线程池中线程数量

如何确定线程池中线程数量

作者: CHMAX | 来源:发表于2020-07-22 15:38 被阅读0次
参数定义:

N_{cpu} = CPU 数量
U_{cpu} = CPU 使用率,0 \leq U_{cpu} \leq 1
\frac{W}{C} = 等待时间与计算时间的比率

计算公式:

{N_{threads} = N_{cpu} * U_{cpu} * \left(1+\frac{W}{C}\right)}

假设 CPU 一直处于使用状态,可以简化为:

N_{threads} = N_{cpu} * \left(1+\frac{W}{C}\right)

总结:

一、计算密集型:假定 W = 0,则 W/C = 0。

N_{threads} = N_{cpu}

二、IO密集型:偷懒计算的情况下,可以保守认为 W/C = 1。

N_{threads} = N_{cpu} * (1+1) = 2N_{cpu}

相关文章

  • 如何确定线程池中线程数量

    参数定义: 计算公式: 假设 CPU 一直处于使用状态,可以简化为: 总结: 一、计算密集型:假定 W = 0,则...

  • 3. Interview-JUC

    1 线程池原理 1.1 ThreadPoolExecutor构造器 corePoolSize:线程池中的线程数量 ...

  • 线程池中线程数量如何设定

    一般说来,大家认为线程池的大小经验值应该这样设置:(其中N为CPU的个数) 如果是CPU密集型应用,则线程池大小设...

  • ThreadPoolExecutor学习笔记

    线程池状态: 高3位表示"线程池状态"低29位表示"线程池中的任务数量" Worker

  • 多线程基础(十一):interrupt深度分析

    [toc] 在前面学习ThreadPoolExecutor的时候,我们知道,当线程池中的线程数量大于核心线程数的时...

  • Java之线程池

    一、浩言 努力、努力、努力!!! 二、内容 2.1)、固定参数 corePoolSize:指定了线程池中的线程数量...

  • Python线程池ThreadPoolExecutor的使用

    ThreadPoolExecutor实际上是一个上下文管理器,可以设置池中线程数量,同时保证池中的每个线程都调用....

  • 线程池和队列

    线程池和队列相关概念 部分概念参考链接 1:核心线程:简单来讲就是线程池中能否允许同时并发运行的线程的数量。 2...

  • Java线程池

    为什么使用线程池: 减少创建和销毁线程的次数。 可以根据系统的承受能力,调整线程池中的线程的数量。 Java里面线...

  • 线程池几个重要参数

    corePoolSize 线程池中常驻线程核心线程数 maximumPoolSize 线程池中同时容纳可执行的线程...

网友评论

      本文标题:如何确定线程池中线程数量

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