如何在Python中限制函數(shù)調(diào)用的執(zhí)行時間在我的代碼中有一個與套接字相關(guān)的函數(shù)調(diào)用,該函數(shù)來自另一個模塊,因此我無法控制,問題是它偶爾阻塞幾個小時,這是完全不能接受的,我如何從代碼中限制函數(shù)的執(zhí)行時間?我想解決方案必須利用另一個線程。
3 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗 獲得超7個贊
with
import signalfrom contextlib import contextmanagerclass TimeoutException(Exception): pass@contextmanagerdef time_limit(seconds): def signal_handler(signum, frame): raise TimeoutException("Timed out!") signal.signal(signal.SIGALRM, signal_handler) signal.alarm(seconds) try: yield finally: signal.alarm(0)try: with time_limit(10): long_function_call()except TimeoutException as e: print("Timed out!")
添加回答
舉報
0/150
提交
取消