Python—创建进程的三种方式(python创建多进程)

网友投稿 286 2022-06-19


方式一:os.fork()

子进程是从os.fork得到的值,然后赋值开始执行的。即子进程不执行os.fork,从得到的值开始执行。

父进程中fork之前的内容子进程同样会复制,但父子进程空间独立,fork之后的修改不会影响到对方。

父子进程在执行上互不影响,谁先执行,谁先执行完不确定。

父子进程之间相互独立,全局变量,局部变量都互不影响。

父进程执行完就结束,子进程会继续执行。主进程不会因为子进程没结束而等待。

子进程虽然复制父进程的空间,但是有自己的特性,比如自己的PID,进程PCB,进程栈空间等。

单个fork

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

import os, time

 

g_num = 100

ret = os.fork()   # 父进程得到的ret的值等于子进程的pid。子进程得到的ret的值等于0。

        

if ret < 0:

    print "---创建一级子进程失败---"

elif ret == 0:

    print "---子进程的pid:%d" % os.getpid()

    g_num += 1

else:

    print "---父进程的pid:%d" % os.getpid()

    while True:

        time.sleep(3)

        break

print "进程执行完毕", g_num      # 父进程打印结果为:100,子进程打印结果为:101

多个fork




版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python基础(27):类成员的修饰符、类的特殊成员(python的成员运算符有哪些)
下一篇:Python openpyxl Excel绘制柱形图(python123平台登录)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~