­

python 執行緒定時器Timer

  • 2020 年 3 月 10 日
  • 筆記

相對前面幾篇python執行緒內容而言,本片內容相對比較簡單,定時器 – 顧名思義,必然用於定時任務。

一.執行緒定時器Timer原理

原理比較簡單,指定時間間隔後啟動執行緒!適用場景:完成定時任務,例如:定時提醒-鬧鐘等等.

# 導入執行緒模組  import threading    timer = threading.Timer(interval, function, args=None, kwargs=None)

參數介紹:

interval — 定時器間隔,間隔多少秒之後啟動定時器任務(單位:秒);

function — 執行緒函數;

args — 執行緒參數,可以傳遞元組類型數據,默認為空(預設參數);

kwargs — 執行緒參數,可以傳遞字典類型數據,默認為空(預設參數);

二.執行緒定時器使用

使用場景:定時鬧鐘

# !usr/bin/env python  # -*- coding:utf-8 _*-  """  @Author:何以解憂  @Blog(個人部落格地址): shuopython.com  @WeChat Official Account(微信公眾號):猿說python  @Github:www.github.com    @File:python_timer.py  @Time:2019/10/22 21:25    @Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!  """    # 導入執行緒模組  import threading    def thread_Timer():      print("該起床啦...5秒之後再次呼叫你起床...")        # 聲明全局變數      global t1      # 創建並初始化執行緒      t1 = threading.Timer(5,thread_Timer)      # 啟動執行緒      t1.start()      if __name__ == "__main__":      # 創建並初始化執行緒      t1 = threading.Timer(5, thread_Timer)      # 啟動執行緒      t1.start()

輸出結果:

該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...  該起床啦...5秒之後再次呼叫你起床...

程式碼分析:

在主執行緒創建了執行緒定時器,在5秒之後執行thread_Timer執行緒函數,而在thread_Timer函數結束的時候,又設置了定時器執行緒thread_Timer,這就完成了一個遞歸的操作,間隔5秒重複定時任務!

三.重點總結

執行緒與執行緒的交互方式有很多,到目前為止已經講解了執行緒互斥鎖Lock執行緒事件Event執行緒條件變數Condition,執行緒定時器Timer,需求不同,使用方式也可以不同,靈活運用!

猜你喜歡:

1.python執行緒事件Event

2.python執行緒條件變數Condition

3.python執行緒互斥鎖Lock

4.python執行緒創建和參數傳遞

轉載請註明猿說Python » python執行緒定時器Timer