我有一个python3.3项目,我有一堆forked [必须是os.fork()]子进程,他们通过管道进行通信[os.pipe()]
父母随机创建了很多花车将它们发送给孩子们,然后孩子们将它们生根并发回去。
我想均匀地分配工作,所以一旦孩子完成计算,它将获得下一个输入
我的想法是只有一个inputPipe,其中父母只发送所有数字,然后孩子们都会要求相同的管道进行下一次输入
问题是,只有第一个打开管道的过程,会从管道中读取,我还没有找到让其他人读取的方法命令即时使用:
r, w = os.pipe()
os.fork()
inputPipe = fdopen(r)
while True:
inp = inputPipe.readline()
#do something
我不会问我是不是已经找了很长一段时间,我猜它显而易见的东西我刚刚走投无路我的自我很难找到它,你们有没有任何解决方案让我使用叉子和管道?