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)
0 件のコメント:
コメントを投稿