Python multiprocessing.Pool.map() 函数用法详解
multiprocessing.Pool.map() 是 Python 多进程模块中的一个函数,可以将一个可迭代对象分成多个可处理的块,并使用多个进程同时处理这些块。
其语法如下:
map(func, iterable[, chunksize=None])
参数说明:
- func: 要并行执行的函数。
- iterable: 可迭代对象,表示要处理的数据。
- chunksize: 每个进程一次性处理的数据块大小。
返回值:
一个由多个子进程的处理结果组成的列表。
示例:
import multiprocessing
def square(x):
return x * x
if __name__ == '__main__':
with multiprocessing.Pool(processes=4) as pool:
result = pool.map(square, [1, 2, 3, 4, 5])
print(result)
输出结果:
[1, 4, 9, 16, 25]
在这个例子中,我们定义了一个函数 square(),用于计算其参数的平方。然后,我们使用 map() 函数,将这个函数应用到一个列表 [1, 2, 3, 4, 5] 中的每个元素上。
由于我们指定了进程数为 4,所以这个列表被分成 4 个块,并使用 4 个进程同时处理这些块。最后,map() 函数返回一个包含每个元素平方的新的列表。
原文地址: https://www.cveoy.top/t/topic/nv1X 著作权归作者所有。请勿转载和采集!