Python parallel.futures.ThreadPoolExecutor max_workers

时间:2018-11-20 02:45:03

标签: python threadpoolexecutor

我正在网上搜索很长时间。但是没用。请帮助或尝试给我一些实现此目标的想法。

当我使用python模块concurrent.futures.ThreadPoolExecutor(max_workers=None)时,我想知道max_workers有多少合适的数量。

我已经阅读了官方文件。 我编码时仍然不知道合适的数量。

  

版本3.5中的更改:如果max_worker为None或不提供,它将默认为计算机上的处理器数量乘以5,假设ThreadPoolExecutor通常用于重叠I / O而不是CPU工作和数量的工人人数应高于ProcessPoolExecutor的工人人数。

如何更好地理解“ max_workers”?

第一次问问题,非常感谢。

1 个答案:

答案 0 :(得分:1)

max_worker,您可以将其用作线程号。

如果要充分利用CPU,则应保持其运行(而不是休眠)。

理想情况下,如果将其设置为None,则最多将有(CPU number * 5)个线程。平均而言,echo CPU有5个线程要调度。然后,如果其中一个进入睡眠状态,则会安排另一个线程。