在决定从并发.futures 中将 ThreadPoolExecutor 中的 max_workers 设置为什么时需要考虑哪些因素?
只要您期望 Python 3.5+ 可用,是否有任何理由不将 max_workers 设置为 None ,然后“默认为计算机上的处理器数量乘以 5”,如文档中所述?https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor
我认为这个问题不能这么笼统地解决;这将取决于具体情况。
From 这个答案 https://stackoverflow.com/a/40505434/5802289:
使用的线程越多,实现的并发性就越高(最多
一点),但是您获得的 CPU 周期就越少(因为上下文
开关)。您必须在典型的情况下检测您的应用程序
工作负载,看看什么最适合您。没有普遍适用的
对此的最佳解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)