python定时器timer_python中实现定时器Timer

本文介绍了Python通过线程实现定时器timer的方法。首先指出实现定时器简单办法是循环嵌time.sleep,但未详述。接着用threading模块实现,给出简单试验及定时器类的实现,包括Timer、CountDownTimer、CountDownExec等类,还给出调用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现定时器最简单的办法是就是循环中间嵌time.sleep(seconds), 这里我就不赘述了

# encoding: UTF-8

import threading

#Timer(定时器)是Thread的派生类,

#用于在指定时间后调用一个方法。

def func():

print 'hello timer!'

timer = threading.Timer(5, func)

timer.start()

本文实例讲述了python通过线程实现定时器timer的方法。分享给大家供大家参考。具体分析如下:

这个python类实现了一个定时器效果,调用非常简单,可以让系统定时执行指定的函数

下面介绍以threading模块来实现定时器的方法。

使用前先做一个简单试验:

import threading

def sayhello():

print "hello world"

global t #Notice: use global variable!

t = threading.Timer(5.0, sayhello)

t.start()

t = threading.Timer(5.0, sayhello)

t.start()

运行结果如下:

>python hello.py

hello world

hello world

hello world

下面是定时器类的实现:

class Timer(threading.Thread):

"""

very simple but useless timer.

"""

def __init__(self, seconds):

self.runTime = seconds

threading.Thread.__init__(self)

def run(self):

time.sleep(self.runTime)

print "Buzzzz!! Time's up!"

class CountDownTimer(Timer):

"""

a timer that can counts down the seconds.

"""

def run(self):

counter = self.runTime

for sec in range(self.runTime):

print counter

time.sleep(1.0)

counter -= 1

print "Done"

class CountDownExec(CountDownTimer):

"""

a timer that execute an action at the end of the timer run.

"""

def __init__(self, seconds, action, args=[]):

self.args = args

self.action = action

CountDownTimer.__init__(self, seconds)

def run(self):

CountDownTimer.run(self)

self.action(self.args)

def myAction(args=[]):

print "Performing my action with args:"

print args

if __name__ == "__main__":

t = CountDownExec(3, myAction, ["hello", "world"])

t.start()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值