python Process获取返回值
时间: 2023-12-05 17:39:29 浏览: 160
在Python中,可以使用`multiprocessing`模块中的`Process`类来创建进程。要获取进程的返回值,可以使用`multiprocessing.Manager()`方法来创建一个共享内存的字典或列表,然后将其作为参数传递给`Process`类的`target`函数。在`target`函数中,将结果存储在共享内存中。最后,在主进程中,可以使用共享内存中的值来获取进程的返回值。
以下是一个示例代码,演示了如何使用`Process`类获取进程的返回值:
```python
import multiprocessing
def worker(num, result_dict):
"""子进程的函数"""
result = num * 2
result_dict[num] = result
if __name__ == '__main__':
# 创建共享内存的字典
manager = multiprocessing.Manager()
result_dict = manager.dict()
# 创建进程
p1 = multiprocessing.Process(target=worker, args=(5, result_dict))
p2 = multiprocessing.Process(target=worker, args=(10, result_dict))
# 启动进程
p1.start()
p2.start()
# 等待进程结束
p1.join()
p2.join()
# 获取进程的返回值
print(result_dict[5]) # 输出:10
print(result_dict[10]) # 输出:20
```
阅读全文