---------Python基礎編程---------
Author : AI菌
【內容講解】
1、主進程會等所有的子進程執行完成以后在退出 為了保證子進程能夠正常的運行,主進程會等所有的子進程執行完成以后再銷毀 2、子進程還有沒執行結束,怎么結束主進程? 方法一: 提前銷毀子進程方式:子進程對象.terminate() 方法二: 設置守護主進程方式: 子進程對象.daemon = True 設置守護主進程的目的是主進程退出前銷毀子進程,不讓主進程再等待子進程去執行。
【代碼演示】
""" 1、主進程會等所有的子進程執行完成以后在退出 為了保證子進程能夠正常的運行,主進程會等所有的子進程執行完成以后再銷毀 2、子進程還有沒執行結束,怎么結束主進程? 方法一: 提前銷毀子進程方式:子進程對象.terminate() 方法二: 設置守護主進程方式: 子進程對象.daemon = True 設置守護主進程的目的是主進程退出前銷毀子進程,不讓主進程再等待子進程去執行。 """ import multiprocessing import time # 現在創建一個子進程,這個子進程執行完大概需要0.6秒鍾,現在讓主進程執行0.3秒鍾就退出程序 # 看看主進程是直接退出,還是等子線程執行完再退出 def task(): for i in range(3): print("正在工作中。。。") time.sleep(0.2) if __name__ == '__main__': # 創建子進程 sub_process = multiprocessing.Process(target=task) # 啟動子進程執行對應的任務 sub_process.start() # 主進程延時0.3秒 time.sleep(0.3) print("主線程over了!!!")
【運行結果】
正在工作中。。。
正在工作中。。。
主線程over了!!!
正在工作中。。。
【結果說明】
主線程打印了“主線程over了”,子線程還沒有結束,繼續答應了正在工作中
說明主線程並未真正結束,而是等子線程執行完以后才結束。
【往期精彩】
▷【Python基礎編程196 ● 讀取文件的4種方式】
▷【Python基礎編程197 ● 讀取文件的4種方式】
▷【Python基礎編程198 ● 讀取文件的4種方式】
▷【Python基礎編程199 ● Python怎么讀/寫很大的文件】
▷【Python基礎編程200 ● 讀取文件的4種方式】
▷【Python基礎編程201 ● 讀取文件的4種方式】
▷【Python基礎編程202 ● 讀取文件的4種方式】
▷【Python基礎編程203 ● 讀取文件的4種方式】
【加群交流】
![]() |
![]() |
![]() |
![]() |