【发布时间】:2020-09-25 09:32:40
【问题描述】:
以下代码在 python 3.7 中有效,但在 python 3.8 中无效 (AttributeError: Can't pickle local object 'main.<locals>.f')
import multiprocessing as mp
import asyncio
async def main():
def f():
print("hello")
p = mp.Process(target=f)
p.start()
if __name__ == "__main__":
asyncio.run(main())
我知道在异步函数中运行进程并不常见,可能会引起一些人的注意,但我发现它有时很有用。它不再在 python 3.8 中工作的原因是什么?有没有办法更新代码以使其正常工作?
【问题讨论】:
标签: python multiprocessing python-asyncio python-3.8