Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中调整池的进程数_Python_Multiprocessing_Python Multiprocessing - Fatal编程技术网

如何在Python中调整池的进程数

如何在Python中调整池的进程数,python,multiprocessing,python-multiprocessing,Python,Multiprocessing,Python Multiprocessing,有没有办法在创建多处理.Pool后调整其进程数?如果没有,实现这种功能的正确方法是什么?从中可以看到一个名为\u repopulate\u pool()的私有方法,它似乎能够更改池中的工作人员数量。但我不建议您尝试动态调整池中的处理器数量。最好在开始时初始化处理器的数量 要调整要在多处理.Pool中使用的进程数,可以使用进程标志。从: processs是要使用的工作进程数。如果进程为无,则使用cpu\u count()返回的数字 例如,将进程数设置为4,这意味着Pool类只允许同时运行4个进程

有没有办法在创建
多处理.Pool
后调整其进程数?如果没有,实现这种功能的正确方法是什么?

从中可以看到一个名为
\u repopulate\u pool()
的私有方法,它似乎能够更改池中的工作人员数量。但我不建议您尝试动态调整池中的处理器数量。最好在开始时初始化处理器的数量

要调整要在
多处理.Pool
中使用的进程数,可以使用
进程
标志。从:

processs
是要使用的工作进程数。如果
进程
,则使用
cpu\u count()
返回的数字

例如,将进程数设置为4,这意味着
Pool
类只允许同时运行4个进程

import multiprocessing as mp

pool = mp.Pool(processes=4)

您是否有一个您已经尝试过的示例?如果您需要更多的工作人员,那么流程可能会生成线程来帮助他们解决问题?进程也可以在其他进程中生成,只要它们不是守护进程…@Reedinationer:当我需要更少的工人时,有什么解决方案吗?@jadieldermas我会从一开始就减少生成,然后让它们根据需要生成更多。这可能是一个相当大的工作量,除了int
self.\u进程
,您还需要更改一些其他内容,如
self.\u pool
。看见