簡體   English   中英

在進程結束后開始的線程會發生什么

[英]What happens to threads that start in process after it ends

https://stackoverflow.com/a/45130246/13121815

在上面的帖子中,答案說您可以在進程內啟動線程,但是,如果進程先結束,線程會發生什么,我的意思是如果您刪除 bar 函數內線程的連接。

def foo():
    print("Thread Executing!")

def bar():
    threads = []
    for _ in range(3): # each Process creates a number of new Threads
        thread = threading.Thread(target=foo) 
        threads.append(thread)
        thread.start()
    # for thread in threads:
    #     thread.join()

if __name__ == "__main__": 
    processes = []
    for _ in range(3):
        p = multiprocessing.Process(target=bar) # create a new Process
        p.start()
        processes.append(p)
    for process in processes:
        process.join()

您要問的問題是“如果父進程在其子進程之前死亡會發生什么”。 子進程成為所謂的“孤兒進程”。 一個快速的duckduckgo搜索給了我這個: https ://linuxjourney.com/lesson/process-termination

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM