python - 如何将协程添加到正在运行的 asyncio 循环中?

标签 python python-3.x asynchronous python-asyncio

如何将新的协程添加到正在运行的 asyncio 循环中? IE。一个已经在执行一组协程的程序。

我想作为一种解决方法,可以等待现有协程完成,然后初始化一个新循环(使用额外的协程)。但是有没有更好的方法?

最佳答案

您可以使用 create_task用于调度新的协程:

import asyncio

async def cor1():
    ...

async def cor2():
    ...

async def main(loop):
    await asyncio.sleep(0)
    t1 = loop.create_task(cor1())
    await cor2()
    await t1

loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
loop.close()

关于python - 如何将协程添加到正在运行的 asyncio 循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499400/

相关文章:

python - 无法连接到 Windows 共享

c# - 为什么 Awaiters (async/await) 是结构体而不是类?可以使用类吗?

PYTHON-如何解决问题 : pywintypes. 错误 : (5, 'OpenClipboard' , 'Access is denied' )

python - 具有多个控制流的列表理解 Python

python - 简单的 Python 异步。预编译器?

asynchronous - 失败后重新启动MailboxProcessor?

java - 使用 java7 async io 通过套接字写入时如何标记数据结束

python - 嵌套列表中的递归结果

Python自定义记录器不打印到控制台

Python matplotlib,图像数据的无效形状