Python 3 X 中定時器 Timer 的使用

2021-09-22 13:55:36 字數 1451 閱讀 8471

準確的說,它是乙個排程(延時處理機制),每次想要定時執行某任務都必須寫入乙個排程。

'''

使用sched模組實現的timer,sched模組不是迴圈的,一次排程被執行後就over了,

如果想再執行,可以使用while迴圈的方式不停的呼叫該方法

'''import time, sched

#被排程觸發的函式

defevent_func

(msg)

:print

("current time:"

, time.strftime(

"%y-%m-%d %h:%m:%s"),

'msg:'

, msg)

defrun_function()

:#初始化sched模組的scheduler類

s = sched.scheduler(time.time, time.sleep)

#設定乙個排程,因為time.sleep()的時間是一秒,所以timer的間隔時間就是sleep的時間,加上enter的第乙個引數

s.enter(0,

2, event_func,

("timer event.",)

) s.run(

)def

timer1()

:while

true

:#sched模組不是迴圈的,一次排程被執行後就over了,如果想再執行,可以使用while迴圈的方式不停的呼叫該方法

time.sleep(1)

run_function(

)if __name__ ==

"__main__"

: timer1(

)

'''

timer類也是一次性觸發的,思路和sched大概差不多

'''import time

import threading

deftimer_start()

: t = threading.timer(

1, test_func,

("parameter1",)

) t.start(

)def

test_func

(msg1)

:print

("i'm test_func,"

, msg1)

timer_start(

)def

timer2()

: timer_start(

)while

true

: time.sleep(1)

if __name__ ==

"__main__"

: timer2(

)

雖然說上面的兩種現實看起來都很蠢,但是如果不借助第三方的庫,可能也只能這樣了.

TIM基本定時器 定時

定時 輸出比較 輸入捕獲 互補輸出 分類 基本定時器 定時 通用定時器 定時 輸出比較 輸入捕獲 高階定時器 定時 輸出比較 輸入捕獲 互補輸出 f103系列的開發板一般是倆個高階定時器tim1 tim8 4個通用定時器tim2 3 4 5 2個基本定時器tim6 7 而根據容量的大小,又稍有區別。...

STM32定時器(TIM)之通用定時器

stm32的通用定時器有四個,分別是tim2,tim3,tim4,tim5,有以下功能 通用定時器的框圖如下 從圖中可以看出,通用定時器timx的觸發源 計數器時鐘的時鐘源 有四個 1 內部時鐘 clk int 2 外部時鐘模式1 外部輸入引腳 tix 分別經timx chx通道傳入 3 外部時鐘模...

Python3 x 迭代器 yield用法

迭代器有兩個重要部分 1.iter 用來獲取迭代器物件 2.next 獲取容器內下乙個元素 斐波列數列 1 1 2 3 5 8 等於前兩個數相加。class fab object 建構函式 def init self,max self.max max self.n,self.a,self.b 0,0...