Python的multiprocessing模块 案例
时间: 2023-11-05 22:39:26 浏览: 83
当然,我可以为您提供一个使用Python的multiprocessing模块的简单案例。下面是一个示例代码,用于并行计算一个列表中每个元素的平方:
```python
import multiprocessing
def square(n):
return n**2
if __name__ == '__main__':
# 创建一个包含10个元素的列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 创建一个进程池,最多同时运行3个进程
pool = multiprocessing.Pool(processes=3)
# 使用进程池的map方法并行计算每个元素的平方
results = pool.map(square, numbers)
# 关闭进程池
pool.close()
pool.join()
# 打印结果
print(results)
```
在这个案例中,我们首先定义了一个`square`函数,它用于计算给定数字的平方。然后,我们创建了一个包含10个数字的列表`numbers`。接下来,我们使用`multiprocessing.Pool`创建了一个进程池,指定最多同时运行3个进程。然后,我们使用进程池的`map`方法将`square`函数应用到列表中的每个元素上,实现并行计算。最后,我们关闭进程池,并打印计算结果。
请注意,在使用`multiprocessing.Pool`时,我们需要将代码放在`if __name__ == '__main__':`条件下,这是为了确保在Windows操作系统下能正确运行。
希望这个案例能帮助到您!如有其他问题,请随时提问。
阅读全文