中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中限制函數執行時間

發布時間:2021-06-04 17:31:10 來源:億速云 閱讀:451 作者:Leah 欄目:開發技術

怎么在python中限制函數執行時間?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如下所示:

# coding=utf-8
import signal
import time
 
 
def set_timeout(num, callback):
  def wrap(func):
    def handle(signum, frame): # 收到信號 SIGALRM 后的回調函數,第一個參數是信號的數字,第二個參數是the interrupted stack frame.
      raise RuntimeError
 
    def to_do(*args, **kwargs):
      try:
        signal.signal(signal.SIGALRM, handle) # 設置信號和回調函數
        signal.alarm(num) # 設置 num 秒的鬧鐘
        print 'start alarm signal.'
        r = func(*args, **kwargs)
        print 'close alarm signal.'
        signal.alarm(0) # 關閉鬧鐘
        return r
      except RuntimeError as e:
        callback()
 
    return to_do
 
  return wrap
 
 
if __name__ == '__main__':
  def after_timeout(): # 超時后的處理函數
    print "do something after timeout."
 
 
  @set_timeout(2, after_timeout) # 限時 2 秒
  def connect(): # 要執行的函數
    time.sleep(1) # 函數執行時間,寫大于2的值,可測試超時
    return 'connect success.'
 
 
  print connect()

關于怎么在python中限制函數執行時間問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澎湖县| 高平市| 碌曲县| 巴林左旗| 扶风县| 台东市| 宣恩县| 通许县| 扬中市| 格尔木市| 岗巴县| 庆云县| 彰武县| 武安市| 大城县| 东海县| 巫山县| 长海县| 老河口市| 砚山县| 抚远县| 邵阳县| 海林市| 井冈山市| 黔西| 锡林郭勒盟| 庐江县| 保山市| 靖边县| 新巴尔虎左旗| 沙洋县| 湄潭县| 平利县| 德昌县| 吴川市| 黄平县| 邓州市| 横峰县| 竹北市| 稻城县| 涟水县|