从concurrent.futures使用ThreadPoolExecutor时的max_workers数量?

问题描述 投票:7回答:1

在从Parallel.futures决定在ThreadPoolExecutor中设置max_workers的内容时要考虑哪些因素?

只要您可以期望Python 3.5+可用,是否有任何理由不将max_workers设置为None,然后“默认为机器上的处理器数量,乘以5”,如此处的文档中所述? https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor

python python-3.x concurrent.futures
1个回答
0
投票

我不认为这个问题可以如此一般地解决;这取决于每个案例。

来自this answer

您使用的线程越多,您将获得的并发性越高(达到一个点),但您将获得的CPU周期越少(因为将有上下文切换)。您必须在典型工作负载下检测应用程序,以查看最适合您的应用程序。对此没有通用的最佳解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.