|
发表于 2024-3-18 19:28:57
|
显示全部楼层
这个错误是因为你没有await协程对象,导致协程函数fun1、fun2和fun3没有被执行。要修复这个问题,你需要在创建协程对象时使用await关键字。
以下是修改后的代码:
- import asyncio
- import time
- async def fun1():
- print("我是沈腾")
- await asyncio.sleep(3)
- print("我是沈腾")
- async def fun2():
- print("我是张含韵")
- await asyncio.sleep(2)
- print("我是张含韵")
- async def fun3():
- print("我是张涵予")
- await asyncio.sleep(4)
- print("我是张涵予")
- if __name__ == '__main__':
- g1 = fun1()
- g2 = fun2()
- g3 = fun3()
- task = [g1, g2, g3] # 把所有任务装到一个列表里
- t1 = time.time()
- asyncio.run(asyncio.wait(task))
- t2 = time.time()
- print(f"共耗费{t2-t1}秒")
复制代码
在上面的代码中,我们使用了await关键字来等待协程函数fun1、fun2和fun3的运行结果。使用asyncio.sleep替代了time.sleep,以保证不会阻塞事件循环。最后,使用asyncio.run来运行异步任务,并使用asyncio.wait来等待所有任务完成。
希望这能帮到你!如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|