whi*_*kar 9 python pool process worker multiprocessing
我不确定何时使用工作池与多个进程.
processes = []
for m in range(1,5):
p = Process(target=some_function)
p.start()
processes.append(p)
for p in processes:
p.join()
Run Code Online (Sandbox Code Playgroud)
VS
if __name__ == '__main__':
# start 4 worker processes
with Pool(processes=4) as pool:
pool_outputs = pool.map(another_function, inputs)
Run Code Online (Sandbox Code Playgroud)
正如PYMOTW所说:
Pool类可用于管理固定数量的工作人员,以处理可以在工作人员之间独立分配和分配工作的简单情况.
收集作业的返回值并作为列表返回.
池参数包括进程数和启动任务进程时要运行的函数(每个子进程调用一次).
请查看那里给出的示例,以便更好地了解其应用,功能和参数.
基本上,Pool是一个帮助器,在需要做的就是消耗常用输入数据,并行处理并生成联合输出的情况下,简化了进程(工作者)的管理.
游泳池做了很多事情,否则你应该自己编码(不是太难,但仍然,找到预先制作的解决方案很方便)
即
以下信息可能会帮助您了解 Python 多处理类中 Pool 和 Process 之间的区别:
水池:
过程: