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

鍍金池/ 問答/Java  Python  Linux  網絡安全/ 請問:Python多線程的daemon為什么運行一次就終止?

請問:Python多線程的daemon為什么運行一次就終止?

我本來是想做一個cron job,也就是讓Python可以周期性地循環(huán)一個叫subtask的任務。

def subtask():
    next_call = time.time()
    while True:
        print (time.ctime(), datetime.datetime.now())
        next_call = next_call + 1;
        time.sleep(next_call - time.time())
def PeriodlTest():
    timerThread = threading.Thread(target=subtask)
    # timerThread.setDaemon(True) # 不能設置daemon=true,會只運行一次就終止!
    # timerThread.daemon = True # 不能設置daemon=true,會只運行一次就終止!
    timerThread.start()

運行PeriodlTest()時,如果不加daemon=true那一句,那么程序會無休止地運行下去,即使ctrl+C也無法結束??梢砸坏┘觗aemon=true那一句,那么PeriodlTest()會只運行一次subtask就終止。

請問這個daemon應該怎么解決呢?怎么才能讓我可以用ctrl+C或者其他的外部干擾結束它呢?謝謝了先!

回答
編輯回答
枕頭人

守護線程不能是唯一一個正在運行的線程,必須依附于其他非守護線程才能持續(xù)運行。

2018年8月27日 13:03