python写一段多进程并行获取返回值数据的代码
时间: 2024-03-02 22:07:29 浏览: 173
python 实现return返回多个值
好的,下面是一个简单的多进程并行获取返回值数据的示例代码:
```python
import multiprocessing
def worker(num):
"""模拟一个耗时的任务"""
result = num * 2
return result
if __name__ == '__main__':
# 创建进程池,最大进程数为4
pool = multiprocessing.Pool(processes=4)
# 传入参数列表,启动多个进程执行任务
results = [pool.apply_async(worker, args=(i,)) for i in range(10)]
# 获取每个进程的返回值
output = [p.get() for p in results]
print(output)
```
这个示例代码创建了一个进程池,最大进程数为4。然后通过传入参数列表的方式,启动多个进程执行任务。最后通过使用 `apply_async` 方法来获取每个进程的返回值,将其存储到一个列表中,并打印出来。
请注意,在获取进程返回值时,需要使用 `get()` 方法。如果某个进程出现了异常,则 `get()` 方法会抛出异常,需要进行异常处理。
阅读全文