Python3 threading Timer 用法

Timer 就是一个定时器,比如说在10s执行 t()

[code]
# -*- coding: utf-8 -*-
__author__ = 'songhao'
from threading import Timer, Thread

def t():
print("t")

for x in range(10):
tr = Timer(10, t)
tr.start()

Timer 源码:

Python
class Timer(Thread): """Call a function after a specified number of seconds: t = Timer(30.0, f, args=None, kwargs=None) t.start() t.cancel() # stop the timer's action if it's still waiting """ def __init__(self, interval, function, args=None, kwargs=None): Thread.__init__(self) self.interval = interval self.function = function self.args = args if args is not None else [] self.kwargs = kwargs if kwargs is not None else {} self.finished = Event() def cancel(self): """Stop the timer if it hasn't finished yet.""" 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()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Timer ( Thread ) :
     """Call a function after a specified number of seconds:
 
            t = Timer(30.0, f, args=None, kwargs=None)
            t.start()
            t.cancel()     # stop the timer's action if it's still waiting
 
    """
 
     def __init__ ( self , interval , function , args = None , kwargs = None ) :
         Thread . __init__ ( self )
         self . interval = interval
         self . function = function
         self . args = args if args is not None else [ ]
         self . kwargs = kwargs if kwargs is not None else { }
         self . finished = Event ( )
 
     def cancel ( self ) :
         """Stop the timer if it hasn't finished yet."""
         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 ( )



  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值