python 多进程锁Lock和共享内存(python中range()函数的用法)
280
2022-08-07
Python—创建进程的三种方式(如何创建python程序)
方式一: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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~