Что происходит с потоками, которые запускаются в процессе после его окончания - PullRequest
1 голос
/ 25 марта 2020

{ ссылка }

В посте выше ответ говорит, что вы можете запускать потоки внутри процесса, но что происходит с потоками, если процесс заканчивается первым, я имею в виду, если вы удалить объединение потоков внутри функции бара.

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()

1 Ответ

1 голос
/ 25 марта 2020

Вопрос, который вы задаете: «что произойдет, если родительский процесс умирает до своего дочернего процесса». Ребенок становится так называемым «сиротским процессом». Быстрый поиск утки go дал мне это: https://linuxjourney.com/lesson/process-termination

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...