示例
"""
程序运行计时工具
"""
import signal
class TimeoutException(Exception):
def __str__(self) -> str:
return "程序运行超时"
def timeout_handler(signum, frame):
"""
超时后执行的方法
:param signum:
:param frame:
:return:
"""
raise TimeoutException
def set_timeout(func, timeout: int, *args, **kwargs):
"""
给方法设置超时时间
:param func:
:param timeout:
:return:
"""
assert isinstance(timeout, int) and timeout > 0, "超时时间只能为非零正整数"
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(timeout)
try:
res = func(*args, **kwargs)
finally:
signal.alarm(0)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具