Python asyncio shield 函式說明
前陣子研究 asyncio 模組時,恰好看到其中 1 個函式 wait_for() ,該函式在 coroutine 超過時限時,會將其取消(cancel),不過 asyncio 也有提供 1 個函式能夠保護 task 被取消,該函式為 shield() ,官方文件對於 shield()
函式的說明為:
Protect an awaitable object from being cancelled .
簡而言之,能夠防止 awaitables(coroutines, Tasks, Futures) 物件被取消。
不過,實際上該怎麼使用,官方文件並沒有著墨太多,因此本文將實際透過幾個範例摸索如何使用 shield() .
Posted on Aug 15, 2021 in Python 程式設計 - 高階 by Amo Chen ‐ 2 min read