龙空技术网

python 超时处理

flydragon 385

前言:

当前姐妹们对“python超时时间”大约比较注意,咱们都需要了解一些“python超时时间”的相关文章。那么小编在网络上收集了一些对于“python超时时间””的相关内容,希望大家能喜欢,各位老铁们快快来了解一下吧!

在python编程过程中,我们经常需要处理程序超时的问题,比如一个通道超时无反应。我们在本节中就看看如何处理程序超时。

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()

标签: #python超时时间