更多內容請見: 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