为了账号安全,请及时绑定邮箱和手机立即绑定

python asyncios create_task 和 await 函数

python asyncios create_task 和 await 函数

慕尼黑5688855 2021-07-12 10:27:37
我试图了解 pythons asynico 模块,并在https://docs.python.org/3/library/asyncio-task.html#asyncio.create_task 上遇到了以下代码import timeimport asyncioasync def say_after(delay, what):    await asyncio.sleep(delay)    print(what)async def main():    task1 = asyncio.create_task(        say_after(1, 'hello'))    task2 = asyncio.create_task(        say_after(2, 'world'))    print('started at', time.strftime('%X'))    # Wait until both tasks are completed (should take    # around 2 seconds.)    await task1    await task2    print('finished at', time.strftime('%X'))asyncio.run(main())事实证明, 可以简单地删除await task2, (或task1,但不能同时删除两者),并且代码似乎在做完全相同的事情。我觉得这很违反直觉,这里发生了什么?感谢您的时间。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 289 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信