當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。