【进程 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('父进程结束')

代码示例图:

发布了96 篇原创文章 · 获赞 103 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_38114487/article/details/105268539
今日推荐