Ruby timeout for Python?
本问题已经有最佳答案,请猛点这里访问。
有没有人知道一个很好的解决方案来实现类似于Ruby的Python超时功能? 我用谷歌搜索它并没有真正看到任何非常好的东西。 谢谢您的帮助。
这是Ruby文档的链接
http://www.ruby-doc.org/stdlib/libdoc/timeout/rdoc/index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def timeout(func, args=(), kwargs={}, timeout_duration=1, default=None): import threading class InterruptableThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.result = None def run(self): try: self.result = func(*args, **kwargs) except: self.result = default it = InterruptableThread() it.start() it.join(timeout_duration) if it.isAlive(): return default else: return it.result |
从:
http://code.activestate.com/recipes/473878/