您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python 3.7-asyncio.sleep()和time.sleep()

Python 3.7-asyncio.sleep()和time.sleep()

您不会看到什么特别的东西,因为您的代码中没有太多异步工作。但是,主要区别在于它time.sleep(5)是阻塞的,并且asyncio.sleep(5)是非阻塞的。

time.sleep(5)调用时,它会阻止脚本的整个执行,它会被搁置,只是冻结,无所事事。但是,当您调用await asyncio.sleep(5),它将在等待语句完成执行时要求事件循环运行其他内容

这是一个改进的示例。

import asyncio

async def hello():
    print('Hello ...')
    await asyncio.sleep(5)
    print('... World!')

async def main():
    await asyncio.gather(hello(), hello())

asyncio.run(main())

输出

~$ python3.7 async.py
Hello ...
Hello ...
... World!
... World!

您可以看到这await asyncio.sleep(5)并没有阻止脚本的执行。

希望能帮助到你 :)

python 2022/1/1 18:32:03 有296人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶