Python 睡眠可繼續執行的 Thread Timer()

Python 想要睡眠後,自動執行某個 Function,其他程式也要可以繼續執行,可以使用 Threading 的 Timer() 來達成。

Python 睡眠可繼續執行的 Thread Timer()

文件可見:threading — Thread-based parallelism — Python 3.9.7 documentation

  • class threading.Timer(interval, function, args=None, kwargs=None)
  • 若跑一跑臨時不想執行,可以呼叫 cancel()
    • threading.Timer() 會建立一個 Timer 的執行緒,在 interval 的秒數後,呼叫 function。
    • 註:interval 可以是小數 0.5 (0.5s)

範例

from threading import Timer

def hello():
    print("Hello World!")

t = Timer(0.5, hello)
t.start()

來驗證秒數與實際執行的範例

from threading import Timer
import time

def hello():
    print("Hello World!")

t = Timer(5, hello) # 在5秒後,自動執行 hello()
t.start()

for i in [1, 2, 3, 4, 5, 6]:
    print(i)
    time.sleep(1)

印出結果

1
2
3
4
5
Hello World!
6

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Python 睡眠可繼續執行的 Thread Timer()〉中有 2 則留言

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料