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

时间:2017-11-26 16:20:04

标签: python python-3.x concurrent.futures

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

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

1 个答案:

答案 0 :(得分:0)

我认为这个问题不能这么普遍地解决;这取决于每种情况。

来自this answer

  

您使用的线程越多,您将实现的并发性越高(直到   点),但您获得的CPU周期更少(因为会有上下文   开关)。您必须在典型情况下对应用程序进行检测   查看最适合您的工作量。没有普遍   最佳解决方案。