一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python 限制函數執行時間,自己實現timeout的實例

python 限制函數執行時間,自己實現timeout的實例

2021-05-14 00:46武坤 Python

今天小編就為大家分享一篇python 限制函數執行時間,自己實現timeout的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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 限制函數執行時間,自己實現timeout的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/zelinhehe/article/details/77529844

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 胸大的姑娘中文字幕视频 | 香港三级浴室女警官 | 国产毛片在线高清视频 | 四虎音影 | 国产日韩精品一区二区 | 免费看一级a一片毛片 | 欧美成人aaaa免费高清 | 91视频国产在线 | 国产色资源 | 91视频99| 国产免费美女视频 | 亚洲日本中文字幕天堂网 | 九9热这里只有真品 | 91在线播 | 欧美在线视频 一区二区 | 色操网| 91日本在线| 四虎影视4hutv最新地址在线 | 久久WWW免费人成一看片 | 女八把屁股扒开让男生添 | 亚洲阿v天堂2018在线观看 | 亚洲无限 | 久久不卡免费视频 | 久久综合色超碰人人 | 网友自拍咪咪爱 | 青草草产国视频 | 男gay男gay男gay野外 | 精品国产国产综合精品 | 精品国产乱码久久久久久免费流畅 | 亚洲欧美一区二区久久 | 日本漫画工囗全彩番在线 | 热99这里只有精品 | 欧美作爱福利免费观看视频 | 国产最新进精品视频 | 精品视频在线免费播放 | 天天干夜夜拍 | 午夜看片a福利在线观看 | 欧美性白人顶级hd | 兽皇videos日本另类 | 四虎黄色影视 | 日日插插 |