主程序會等待所有子程序執行完後再退出
阿新 • • 發佈:2021-01-19
一、程序的特點:主程序會等待所有子程序執行結束後再結束。
解決方法:即讓主程序退出後,子程序銷燬
1、讓子程序設定成為守護主程序
子程序物件.daemon = True
2、讓主程序退出之前,先讓子程序銷燬。
子程序物件.terminate()
二:主程序會等待子程序結束後才能結束
from multiprocessing import * from time import * def task(): for i in range(10): print("任務執行中.......") sleep(0.2) if __name__View Code== '__main__': p = Process(target=task) p.start() # 主程序 sleep(0.5) print("over")
執行結果:
三、即讓主程序退出後,子程序銷燬
方法一:
from multiprocessing import * from time import * def task(): for i in range(10): print("任務執行中.......") sleep(0.2) if __name__ == 'View Code__main__': p = Process(target=task) p.daemon = True # 將子程序設定為守護主程序 p.start() # 主程序 sleep(0.5) print("over")
執行結果:
方法二:
from multiprocessing import * from time import * def task(): for i in range(10): print("任務執行中.......") sleep(0.2) ifView Code__name__ == '__main__': p = Process(target=task) # p.daemon = True # 將子程序設定為守護主程序 p.start() # 主程序 sleep(0.5) p.terminate() # 退出主程序之前,銷燬子程序 print("over")
執行結果: