您好,登錄后才能下訂單哦!
這篇文章給大家介紹使用python怎么實(shí)現(xiàn)一個(gè)周期性定時(shí)器,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
Python是一種編程語(yǔ)言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語(yǔ)言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
一、用thread實(shí)現(xiàn)定時(shí)器
py_timer.py文件
#!/usr/bin/python #coding:utf-8 import threading import os import sys class _Timer(threading.Thread): def __init__(self, interval, function, args=[], kwargs={}): threading.Thread.__init__(self) self.interval = interval self.function = function self.args = args self.kwargs = kwargs self.finished = threading.Event() def cancel(self): self.finished.set() def run(self): self.finished.wait(self.interval) if not self.finished.is_set(): self.function(*self.args, **self.kwargs) self.finished.set() class LoopTimer(_Timer): def __init__(self, interval, function, args=[], kwargs={}): _Timer.__init__(self, interval, function, args, kwargs) def run(self): while True: if not self.finished.is_set(): self.finished.wait(self.interval) self.function(*self.args, **self.kwargs) else: break def testlooptimer(): print("loop timer") if __name__ == '__main__': t = LoopTimer(3.0,testlooptimer) t.start()
二、 使用
import py_timer def serv_start(): #Perform first fork. try: thread_timer = py_timer.LoopTimer(timeout, start_timer) thread_timer.start() thread_timer.cancel() # except Exception, ex: print("daemon: %s %s", type(ex), ex) def start_timer(): print 'hello'
關(guān)于使用python怎么實(shí)現(xiàn)一個(gè)周期性定時(shí)器就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。