在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  Linux/ python三個子線程,如何讓掛掉的線程重啟?

python三個子線程,如何讓掛掉的線程重啟?

啟動三個子線程,如果其中一個或兩個子線程出現(xiàn)異常掛掉了,如何重啟這兩個子線程,或者如何判斷線程數(shù)量,當少于3個子線程時,殺掉所有子進程,重啟主進程。

import threading

import time


def test1():
    while True:
        print '11111111'
        time.sleep(2)


def test2():
    a = 1/0


t1 = threading.Thread(target=test1)
t2 = threading.Thread(target=test2)
t3 = threading.Thread(target=test1)

t1.start()
t2.start()
t3.start()

t1.join()
t2.join()
t3.join()

t2子線程異常,只有1,3在運行。如何讓t2,接著運行呢??

回答
編輯回答
憶往昔

首先,你的線程要用線程池來進行管理
其次,就可以協(xié)議個守護進程,用來監(jiān)控這個進程池的線程數(shù)和每一個線程是否存活(應該是isAlive屬性)。
如果掛起了,就記錄在隊列中,可以把一些線程的參數(shù)都記錄進去,放棄重啟。
最后,按照記錄的死掉進程重新在線程池中建立。

ps.隨便寫點,抱歉沒有代碼提供。

2017年1月10日 12:59