您的位置:首页 > 编程语言 > Python开发

在python中实现生产者和消费者的例子(三):使用fork和pipe

2013-09-04 13:27 701 查看
本文介绍如何用os模块中的fork和pipe实现生产者和消费者的例子

import os

import time

total=0

r,w=os.pipe()

pid0=os.getpid()

print '主进程',pid0

pid1=os.fork()

#为了证明os.fork()有两个返回值

#print '测试',pid1

#os.getpid()值不是固定的 显示当前进程ID

'''

if pid1==0:

print '子进程 ',pid1,os.getpid(),os.getppid()

else:

print '主进程 ',pid1,os.getpid(),os.getppid()

'''

if pid1 == 0:

print 'this is child01' ,pid1,'子进程1',os.getpid()

else :

status1=os.waitpid(pid1,0)

pid2=os.fork()

a=0

if pid2 == 0:

print 'this is child02' ,pid2,'子进程2',os.getpid()

os.close(r)

fw=os.fdopen(w,'w')

for i in range(100):

a=a+1

fw.write(str(a))

print a,' 01'

fw.close()

else :

#status2=os.waitpid(pid2,0)

print 'this is parent00','主进程',os.getpid(),' its child01',pid1,' its child02',pid2

os.close(w)

fr=os.fdopen(r,'r')

print fr.read(),' 02'

fr.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: