【進程 03】父子進程的執行順序

from multiprocessing import Process
from time import sleep
import os


def run():
    print('子進程啓動')
    sleep(3)
    print('子進程結束')


if __name__ == '__main__':
    print('父進程啓動')
    p = Process(target=run)
    p.start()

    print('父進程結束')

 

看到結果並不是我們所想:

先是父進程開始,然後等待子進程開始和結束後,父進程最後結束。

 

那在我們的操作系統中,往往是這樣的,父進程不幹活,子進程幹活,幹完活之後,父進程說收工!

子進程都銷燬掉,父進程結束

 

只需要在 p.start 後邊 加一句 p.join 就可以實現了

 

完整代碼

from multiprocessing import Process
from time import sleep
import os


def run():
    print('子進程啓動')
    sleep(3)
    print('子進程結束')


if __name__ == '__main__':
    print('父進程啓動')
    p = Process(target=run)
    p.start()
    # 添加方法
    p.join()

    print('父進程結束')

代碼示例圖:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章