当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python asyncio.sleep用法及代码示例


用法:

coroutineasyncio.sleep(delay, result=None)

阻塞 delay 秒。

如果提供了result,则在协程完成时将其返回给调用者。

sleep() 始终暂停当前任务,允许其他任务运行。

将延迟设置为 0 可提供优化路径以允许其他任务运行。 long-running 函数可以使用它来避免在函数调用的整个持续时间内阻塞事件循环。

自 3.8 版起已弃用,在 3.10 版中删除: loop范围。自 3.7 以来,此函数一直在隐式获取当前运行循环。看3.10 中已删除部分的新增函数了解更多信息。

协程每秒显示当前日期 5 秒的示例:

import asyncio
import datetime

async def display_date():
    loop = asyncio.get_running_loop()
    end_time = loop.time() + 5.0
    while True:
        print(datetime.datetime.now())
        if (loop.time() + 1.0) >= end_time:
            break
        await asyncio.sleep(1)

asyncio.run(display_date())

在 3.10 版中更改:删除了loop范围。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 asyncio.sleep。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。