我正在开发一个应用程序,主要由服务组成,这些服务是具有自定义运行循环的线程。
其中一项服务需要生成子进程,我不太明白它是否有效。官方的文档 https://docs.python.org/3/library/asyncio-subprocess.html#subprocess-and-threads是模棱两可的。即它说两者asyncio supports running subprocesses from different threads
and An event loop must run in the main thread
在同一部分。
如果事件循环必须在主线程中运行,如何从不同线程运行子进程?
文档说:
- 您应该在主线程中运行事件循环。
- 在主线程中请调用
asyncio.get_child_watcher()
在程序开始时。
之后,您可以从非主线程创建子进程。
UPD
从Python 3.8 asyncio 开始,没有上述限制。
一切正常工作.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)