python - 如何获得过程的返回值
问题描述
我想获取函数返回值
我怎么能得到这个:
def chunk1():
return 'Hello'
p1 = Process(target=chunk1).start()
我想从流程中获取 Chunk1 返回值我该怎么做?
解决方案
您可能想在共享内存中使用队列或其他东西。
https://docs.python.org/2/library/multiprocessing.html#module-multiprocessing
从该页面:
# The Queue class is a near clone of Queue.Queue. For example:
from multiprocessing import Process, Queue
def f(q):
q.put([42, None, 'hello'])
if __name__ == '__main__':
q = Queue()
p = Process(target=f, args=(q,))
p.start()
print q.get() # prints "[42, None, 'hello']"
p.join()
但如果这是年轻的代码,你可能会考虑 concurrent.futures 。
concurrent.futures 与队列一起使用,例如:
推荐阅读
- c++ - 对标准安全:移动成员?
- java - 上传两个文件和一个对象失败并出现错误 415
- excel - 计数当前行和下一行是否满足条件
- corda - 我如何在 Corda 事务中使用响应者 inputsStatesAndRef?
- python - 从 pyinstaller bundle #2 访问 python 解释器
- python - 使用 matplotlib 和 numpy 查找一组局部最大值的最大值
- python - 从另一个文件调用函数 - Discord bot
- r - echarts4r:e_mark_line 符号和名称
- reactjs - React Hooks:切换模式下的重新渲染过多
- javascript - 带有 HTML 的 JS 加密