在从Parallel.futures决定在ThreadPoolExecutor中设置max_workers的内容时要考虑哪些因素?
只要您可以期望Python 3.5+可用,是否有任何理由不将max_workers设置为None,然后“默认为机器上的处理器数量,乘以5”,如此处的文档中所述? https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
我不认为这个问题可以如此一般地解决;这取决于每个案例。
来自this answer:
您使用的线程越多,您将获得的并发性越高(达到一个点),但您将获得的CPU周期越少(因为将有上下文切换)。您必须在典型工作负载下检测应用程序,以查看最适合您的应用程序。对此没有通用的最佳解决方案。