91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何解決Python設置函數調用超時,進程卡住的問題

發布時間:2021-07-30 13:53:14 來源:億速云 閱讀:235 作者:小新 欄目:開發技術

小編給大家分享一下如何解決Python設置函數調用超時,進程卡住的問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

背景:

最近寫的Python代碼不知為何,總是執行到一半卡住不動,為了使程序能夠繼續運行,設置了函數調用超時機制。

代碼:

import time
import signal
 
 
def test(i):
 time.sleep(i % 4)
 print "%d within time" % (i)
 return i
 
 
if __name__ == '__main__':
 def handler(signum, frame):
 raise AssertionError
 
 
for i in range(1, 10):
 try:
  signal.signal(signal.SIGALRM, handler)
  signal.alarm(3)
  test(i)
 except AssertionError:
  print "%d timeout" % (i)
 finally:
  signal.alarm(0)
  signal.signal(signal.SIGALRM, signal.SIG_DFL)

說明:

1、調用test函數超時監控,使用sleep模擬函數執行超時

2、引入signal模塊,設置handler捕獲超時信息,返回斷言錯誤

3、alarm(3),設置3秒鬧鐘,函數調用超時3秒則直接返回

4、捕獲異常,打印超時信息

程序執行結果:

1 within time
2 within time
3 timeout
4 within time
5 within time
6 within time
7 timeout
8 within time
9 within time

看完了這篇文章,相信你對“如何解決Python設置函數調用超時,進程卡住的問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

长寿区| 嘉定区| 木里| 长汀县| 边坝县| 岳池县| 莱州市| 余江县| 定陶县| 岳池县| 河曲县| 柳河县| 五家渠市| 体育| 内黄县| 文化| 余干县| 韶山市| 同江市| 邓州市| 弋阳县| 侯马市| 嘉峪关市| 密云县| 报价| 平远县| 晋州市| 仙桃市| 江达县| 古田县| 吴忠市| 奈曼旗| 黔江区| 芮城县| 吴旗县| 新源县| 尖扎县| 津南区| 龙陵县| 平顶山市| 揭西县|