Asyncio.create_task()在回调函数中不能立即执行的问题。
创始人
2024-09-21 05:00:50
0

在回调函数中使用asyncio.ensure_future()函数来调用协程,而不是使用Asyncio.create_task()。因为在回调函数中,事件循环可能已经执行了一部分任务,无法立即执行新的任务,而asyncio.ensure_future()函数可以在事件循环中安排协程的执行。

示例代码:

import asyncio

async def main():
    loop = asyncio.get_running_loop()
    loop.call_soon(cb)
    print("Callback scheduled")

async def cb():
    print("Callback started")
    await asyncio.sleep(1)
    print("Callback finished")

asyncio.run(main())

如果将下面这句话替换为使用Asyncio.create_task()来调用协程,那么程序将会卡住不动。

loop.call_soon(cb)

可以将上面这句话改为下面这句话,使用asyncio.ensure_future()来调用协程。

asyncio.ensure_future(cb())

相关内容

热门资讯

第七分钟辅助“牌乐门黑科技”详... 第七分钟辅助“牌乐门黑科技”详细辅助详细教程(原来真的有挂)1、用户打开应用后不用登录就可以直接使用...
八分钟辅助“相约十三水破解”详... 八分钟辅助“相约十三水破解”详细辅助安装教程(其实真的有挂)1、任何相约十三水破解ai辅助神器的玩家...
实测交流“竹间茶馆作弊码”aa... 1、实测交流“竹间茶馆作弊码”aa poker辅助(竟然真的有挂)(UU poker、竹间茶馆作弊码...
十分钟了解“杭州都莱挂”详细辅... 十分钟了解“杭州都莱挂”详细辅助普及教程(本来真的有挂)1、进入游戏-大厅左侧-新手福利-激活码辅助...
程序员教你“微乐贵阳足鸡麻将开... 程序员教你“微乐贵阳足鸡麻将开挂”aapoker透视方法(原本是有挂)1、许多玩家不知道微乐贵阳足鸡...
十分钟辅助“微信小程序里的微乐... 十分钟辅助“微信小程序里的微乐可以开挂吗”详细辅助必赢教程(其实有挂);1、实时微信小程序里的微乐可...
一分钟快速了解“上游辅助器”黑... 这是一款非常优秀的上游辅助器 ia辅助检测软件,能够让你了解到上游辅助器中牌率当中全部隐藏参数,与同...
七分钟辅助器“广西八一字牌辅助... 七分钟辅助器“广西八一字牌辅助”详细辅助AI教程(原来是有挂);1、广西八一字牌辅助机器人多个强度级...
科技新动态“新广西老友麻将开挂... 科技新动态“新广西老友麻将开挂”菠萝辅助器免费版的特点(原先有挂)关于新广西老友麻将开挂机制的,其中...
第五分钟辅助器“牌乐门黑科技”... 第五分钟辅助器“牌乐门黑科技”详细辅助解密教程(一贯存在有挂)1、牌乐门黑科技透视辅助简单,牌乐门黑...