最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 多線(xiàn)程重啟方法

 更新時(shí)間:2019年02月18日 10:00:15   作者:DylanOOO  
今天小編就為大家分享一篇python 多線(xiàn)程重啟方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

python 多線(xiàn)程程序運(yùn)行中,會(huì)出現(xiàn)由于異常而導(dǎo)致某線(xiàn)程停止的情況,為了保證程序的穩(wěn)定運(yùn)行,需要自動(dòng)重啟down掉的線(xiàn)程.

python Threading類(lèi)有一個(gè)setName()的方法,可以為線(xiàn)程設(shè)置名字。

threading.enumerate()可以獲取當(dāng)前的線(xiàn)程對(duì)象。

自動(dòng)重啟線(xiàn)程的思路如下:

1.使用setName()每個(gè)線(xiàn)程設(shè)置名字;

2.在初始化運(yùn)行時(shí)使用threading.enumerate()獲取當(dāng)前所有線(xiàn)程對(duì)象,保存為初始線(xiàn)程組;

3.隔一段時(shí)間使用threading.enumerate()獲取當(dāng)前所有線(xiàn)程對(duì)象,與初始線(xiàn)程組對(duì)比,如果某個(gè)name缺失,則重新start。

下面舉個(gè)例子:

#coding:utf-8
import threading

list_ip=['1.1.1.1','2.2.2.2','3.3.3.3'] #一組ip列表

def printIP(ip):
  print ip

#每180s獲取當(dāng)前線(xiàn)程名,并跟初始線(xiàn)程組比較,某一線(xiàn)程停止后自動(dòng)運(yùn)行
def checkThread(sleeptimes=180,initThreadsName=[]):
  for i in range(0,10080):#循環(huán)運(yùn)行
    nowThreadsName=[]#用來(lái)保存當(dāng)前線(xiàn)程名稱(chēng)
    now=threading.enumerate()#獲取當(dāng)前線(xiàn)程名
    for i in now:
      nowThreadsName.append(i.getName())#保存當(dāng)前線(xiàn)程名稱(chēng)

    for ip in initThreadsName:
      if ip in nowThreadsName:
        pass #當(dāng)前某線(xiàn)程名包含在初始化線(xiàn)程組中,可以認(rèn)為線(xiàn)程仍在運(yùn)行
      else:
        print '==='+ip,'stopped,now restart'
        t=threading.Thread(target=printIP,args=(ip,))#重啟線(xiàn)程
        t.setName(ip)#重設(shè)name
        t.start()
    time.sleep(sleeptimes)#隔一段時(shí)間重新運(yùn)行,檢測(cè)有沒(méi)有線(xiàn)程down


if __name__ == '__main__':
  threads=[]
  initThreadsName=[]#保存初始化線(xiàn)程組名字
  for ip in list_ip:
    t=threading.Thread(target=printIP,args=(ip,))
    t.setName(ip)
    threads.append(t)

  for t in threads:
    t.start()

  init=threading.enumerate()#獲取初始化的線(xiàn)程對(duì)象
  for i in init:
    initThreadsName.append(i.getName())#保存初始化線(xiàn)程組名字

  check=threading.Thread(target=checkThread,args=(180,initThreadsName))#用來(lái)檢測(cè)是否有線(xiàn)程down并重啟down線(xiàn)程
  check.setName('Thread:check')
  check.start()

以上這篇python 多線(xiàn)程重啟方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django之模板層的實(shí)現(xiàn)代碼

    Django之模板層的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Django之模板層的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python + OpenCV 實(shí)現(xiàn)LBP特征提取的示例代碼

    Python + OpenCV 實(shí)現(xiàn)LBP特征提取的示例代碼

    這篇文章主要介紹了Python + OpenCV 實(shí)現(xiàn)LBP特征提取的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python如何寫(xiě)個(gè)俄羅斯方塊

    python如何寫(xiě)個(gè)俄羅斯方塊

    這篇文章主要介紹了python寫(xiě)個(gè)俄羅斯方塊,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 基于python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的瀏覽器引擎

    基于python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的瀏覽器引擎

    瀏覽器引擎是用來(lái)處理、渲染和顯示網(wǎng)頁(yè)內(nèi)容的核心組件,其主要任務(wù)是將用戶(hù)輸入的URL所代表的網(wǎng)頁(yè)資源加載并呈現(xiàn)出來(lái),通常包括HTML、CSS、JavaScript以及各種多媒體內(nèi)容,本文給大家介紹了如何基于python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的瀏覽器引擎,需要的朋友可以參考下
    2024-10-10
  • python實(shí)現(xiàn)單機(jī)五子棋

    python實(shí)現(xiàn)單機(jī)五子棋

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)單機(jī)五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法

    ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法

    今天小編就為大家分享一篇ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python用什么編輯器進(jìn)行項(xiàng)目開(kāi)發(fā)

    python用什么編輯器進(jìn)行項(xiàng)目開(kāi)發(fā)

    在本篇文章里小編給大家整理的是一篇關(guān)于python開(kāi)發(fā)用的編輯器詳細(xì)介紹,有需要的朋友們可以參考下哎。
    2020-06-06
  • Python2.x利用commands模塊執(zhí)行Linux shell命令

    Python2.x利用commands模塊執(zhí)行Linux shell命令

    這篇文章主要介紹了Python2.x利用commands模塊執(zhí)行Linux shell命令 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 詳細(xì)解讀Python中的json操作

    詳細(xì)解讀Python中的json操作

    json操作是最為基本的、最為常用的,Python自帶的json模塊就可以滿(mǎn)足大部分應(yīng)用場(chǎng)景,而且使用起來(lái)極為簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于Python中json操作的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 對(duì)Python3 goto 語(yǔ)句的使用方法詳解

    對(duì)Python3 goto 語(yǔ)句的使用方法詳解

    今天小編就為大家分享一篇對(duì)Python3 goto 語(yǔ)句的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02

最新評(píng)論

崇阳县| 昌图县| 南靖县| 濮阳县| 灌阳县| 格尔木市| 桓台县| 墨脱县| 磐石市| 安仁县| 祁连县| 绥德县| 康保县| 阳高县| 陵川县| 大兴区| 平果县| 武宣县| 武宣县| 正蓝旗| 务川| 八宿县| 贺州市| 石柱| 读书| 江川县| 夏邑县| 化德县| 虎林市| 来凤县| 贞丰县| 寿阳县| 获嘉县| 明溪县| 白山市| 新绛县| 长子县| 拜泉县| 临沧市| 宾川县| 芒康县|