python的超时处理有几种方案,比如signal,比如threading,个中signal 一样平常用于linux,而对付跨平台的一样平常采取threading.Timer 方案,下面我们就先容一下如何利用threading去做timer
1,threading.Timer 简介
a,布局一个timer

timer = threading.Timer(timeout_seconds,callback_func,args=(arg1,))
个中timeout_seconds是计时器的韶光,单位为s
callback_func 是你设置的回调函数
arg1 为你通报的回调函数的参数,个中的逗号是必须的,由于此处只有一个参数
b,start 和cancel
start 开始计时
cancel 结束计时
2.代码
#!/usr/bin/pythonimport threadingclass test_timer: def __init__(self,arg1): self.timer_ = threading.Timer(1,self.processTimeout,args=(arg1,)) def startTimer(self): self.timer_.start() def cancelTimer(self): self.timer_.cancel() def processTimeout(self,arg1): print arg1test_timer1 = test_timer(\"大众test\"大众)test_timer1.startTimer()