python - asyncio 是否支持从非主线程运行子进程?

标签 python python-3.x python-asyncio

我正在开发一个主要由服务组成的应用程序,这些服务是带有自定义运行循环的线程。

其中一项服务需要生成子进程,我不太明白它是否有效。官方documentation是模棱两可的。也就是说,asyncio 支持从不同线程运行子进程,并且事件循环必须在同一部分的主线程中运行

如果事件循环必须在主线程中运行,如何从不同线程运行子进程?

最佳答案

文档说:

  1. 您应该在主线程中运行事件循环。
  2. 在主线程中,请在程序开始时调用 asyncio.get_child_watcher()

之后,您可以从非主线程创建子进程。

UPD

从 Python 3.8 asyncio 开始,没有上述限制。

一切都能正常工作

关于python - asyncio 是否支持从非主线程运行子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28915607/

相关文章:

python - 如何在 MySQL 数据库上保存 python 对象?

python-3.x - 类型错误 : a bytes-like object is required, 而不是 'coroutine'

python - 从 websocket 读取数据而不阻塞代码

python - 使用 BERT 通过词嵌入生成相似词或同义词

python - 返回 Python 中最低有效位的索引

python - 你应该总是使用正则化 tensorflow 吗?

Python 排序算法

Python。 subprocess.Popen 的第二步截断第一步的结果

python - 在不中断程序执行的情况下获取用户输入

python - 何时使用多个事件循环?