import signal
import time
class timer():
def __init__(self):
self.flag = True
def _handler(self, x, y):
self.flag = False
def set(self, sec):
signal.signal(signal.SIGALRM, self._handler)
signal.alarm(sec)
def check(self):
return self.flag
if __name__ == "__main__":
tmr = timer()
tmr.set(3)
while tmr.check():
time.sleep(100)
2011年9月2日金曜日
python でタイムアウト
SIG ALARMを使ったタイムアウトの仕掛け。再実装するのが嫌なのでメモとして残しておこう。スレッド環境では使えないので注意。
登録:
コメント (Atom)