gpt4 book ai didi

java - 其他多线程框架中理想的线程池大小

转载 作者:行者123 更新时间:2023-12-02 12:50:57 25 4
gpt4 key购买 nike

我正在使用多线程框架(Apache Tomcat),并且编写我自己的服务(在资源内),该服务使用固定的线程池大小(Java ExecutorService)来运行其任务。

如何确定相对于框架或其他服务池的理想池大小?

最佳答案

如上所述,线程池大小没有固定规则。但是可以根据您的用例使用一些建议或最佳实践。

CPU 密集型任务

对于 CPU 密集型任务,Goetz (2002, 2006) 建议

线程数 = CPU 数量 + 1

IO 绑定(bind)任务

计算 IO 密集型任务的最佳数量不太明显。在 IO 密集型任务期间,CPU 将处于空闲状态(等待或阻塞)。这个空闲时间可以更好地用于发起另一个 IO 绑定(bind)请求。

Subramaniam (2011, p.31) 用以下公式描述了最佳线程数。

threads = number of cores * (1 + wait time / service time)

关于java - 其他多线程框架中理想的线程池大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com