python中os.fork()理解

import os

pid = os.fork()

if 0 > pid:
    print('调用出错')
elif 0 == pid:
    print('我是子进程%s我的父进程是%s' % (os.getpid(), os.getppid()))
elif 0 < pid:
    print('我是父进程%s,我的子进程是%s' % (os.getpid(), pid))

fork在字典中解释为:分岔;岔开两条分支;走岔路中的一条;叉运;叉掘

当在python程序中调用fork后,子进程会复制⽗进程的所有信息到⼦进程中 ,而后程序就分两个进程继续运行后面的程序,这也是fork(分岔)的含义了。在子进程内,这个方法会返回0;在父进程内,这个方法会返回子进程的编号pid。所以可以根据pid来判断区分父进程或子进程。

 

import os
import time

num = 10

pid = os.fork()

if 0 == pid:
    print('我是子进程,num的值为%d' % num)
    num += 1
    print('我是子进程,num的值为%d' % num)
else:
    time.sleep(2)
    print('我是父进程,num的值为%d' % num)

我是子进程,num的值为10
我是子进程,num的值为11
我是父进程,num的值为10
在每个进程中数据都是独立的,即没有其他手段方式进程间是无法通信的,即: 多进程中,每个进程中所有数据(包括全局变量)都各有拥有⼀份,互不影响
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值