在Python中计算函数耗时并超时自动退出
更多内容请见: python3案例和总结-专栏介绍和目录
文章目录
- 方法1:使用装饰器结合信号模块(仅Unix-like系统)
- 方法2:使用多线程(跨平台解决方案)
- 方法3:使用concurrent.futures(Python 3.2+)
- 方法4:使用 multiprocessing + Process(跨平台)
- 方法5:使用 time 手动计算耗时
- 注意事项
- 总结对比
在Python中,有几种方法可以计算函数执行时间并在超时后自动退出函数。以下是几种实现方式:
方法1:使用装饰器结合信号模块(仅Unix-like系统)
signal 模块可以在超时时发送 SIGALRM 信号,但仅适用于 Unix 系统(Windows 不支持)。仅适用于 Unix/Linux/macOS,Windows 不支持 signal.alarm。
import signal
import time
from functools import wraps
import sys