python 輪詢執(zhí)行某函數(shù)的2種方式
目標(biāo):python中每隔特定時間執(zhí)行某函數(shù)
方法1:使用python的Thread類的子類Timer,該子類可控制指定函數(shù)在特定時間后執(zhí)行一次:
所以為了實現(xiàn)多次定時執(zhí)行某函數(shù),只需要在一個while循環(huán)中多次新建Timer即可。
from threading import Timer import time def printHello(): print ("Hello") print("當(dāng)前時間戳是", time.time()) def loop_func(func, second): #每隔second秒執(zhí)行func函數(shù) while True: timer = Timer(second, func) timer.start() timer.join() loop_func(printHello, 1)
運行結(jié)果如下:
Hello 當(dāng)前時間戳是 1569224253.1897497 Hello 當(dāng)前時間戳是 1569224254.1911764 Hello 當(dāng)前時間戳是 1569224255.1924803 Hello 當(dāng)前時間戳是 1569224256.1957717 Hello 當(dāng)前時間戳是 1569224257.1964536 ……
方法2:使用time模塊的sleep函數(shù)可以阻塞程序執(zhí)行
import time def printHello(): print ("Hello") print("當(dāng)前時間戳是", time.time()) def loop_func(func, second): # 每隔second秒執(zhí)行func函數(shù) while True: func() time.sleep(second) loop_func(printHello, 1)
運行結(jié)果如下:
Hello 當(dāng)前時間戳是 1569224698.5843027 Hello 當(dāng)前時間戳是 1569224699.5843854 Hello 當(dāng)前時間戳是 1569224700.5870178 Hello 當(dāng)前時間戳是 1569224701.5881224 Hello 當(dāng)前時間戳是 1569224702.588771 Hello 當(dāng)前時間戳是 1569224703.5896 Hello 當(dāng)前時間戳是 1569224704.5902 ……
總結(jié):感覺方法2更節(jié)約資源,因為同樣使用了while循環(huán),方法2沒有生成多余的線程,但是方法1會生成很多的線程
以上這篇python 輪詢執(zhí)行某函數(shù)的2種方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python如何存儲和讀取ASCII碼形式的byte數(shù)據(jù)
這篇文章主要介紹了Python如何存儲和讀取ASCII碼形式的byte數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05python 環(huán)境變量和import模塊導(dǎo)入方法(詳解)
下面小編就為大家?guī)硪黄猵ython 環(huán)境變量和import模塊導(dǎo)入方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07使用Python的Flask框架表單插件Flask-WTF實現(xiàn)Web登錄驗證
Flask處理表單除了本身的WTForms包,使用Flask-WTF擴(kuò)展來增強(qiáng)表單功能也是很多開發(fā)者的選擇,這里我們就來講解如何使用Python的Flask框架表單插件Flask-WTF實現(xiàn)Web登錄驗證2016-07-07Python IDLE 錯誤:IDLE''''s subprocess didn''''t make connectio
這篇文章主要介紹了Python IDLE 錯誤:IDLE's subprocess didn't make connection 的解決方案的相關(guān)資料,需要的朋友可以參考下2017-02-02淺析python表達(dá)式4+0.5值的數(shù)據(jù)類型
在本篇文章里小編給大家整理的是一篇關(guān)于python表達(dá)式4+0.5值的數(shù)據(jù)類型的知識點內(nèi)容,需要的的朋友們學(xué)習(xí)下。2020-02-02Pandas的read_csv函數(shù)參數(shù)分析詳解
這篇文章主要介紹了Pandas的read_csv函數(shù)參數(shù)分析詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07