(2018-04-09.Python从Zero到One)二、python高级编程__2.1.5多次fork问题

上一篇文章为:→2.1.4多进程修改全局变量

多次fork问题

如果在一个程序,有2次的fork函数调用,是否就会有3个进程呢?


#coding=utf-8
import os
import time

# 注意,fork函数,只在Unix/Linux/Mac上运行,windows不可以
pid = os.fork()
if pid == 0:
    print('哈哈1')
else:
    print('哈哈2')

pid = os.fork()
if pid == 0:
    print('哈哈3')
else:
    print('哈哈4')

time.sleep(1)

运行结果:


(2018-04-09.Python从Zero到One)二、python高级编程__2.1.5多次fork问题_第1张图片
day14_进程-01.gif

说明:

(2018-04-09.Python从Zero到One)二、python高级编程__2.1.5多次fork问题_第2张图片
day14_进程-02.png

父子进程的执行顺序

父进程、子进程执行顺序没有规律,完全取决于操作系统的调度算法


下一篇文章为:→2.1.6multiprocessing

你可能感兴趣的:((2018-04-09.Python从Zero到One)二、python高级编程__2.1.5多次fork问题)