我在linux下用C++编写一个程序,其中一个子进程应该在管道中写入两个长值并且父进程应该读取它们。直到现在,我onlz设法为此设置两个(命名)管道,并通过写入(fd1,& value1,sizeof(long))写入每个管道并通过读取(fd1,& value1,sizeof(long))读取它。 只有一个管道两个会更好,但我无法弄清楚如何做到这一点。如何将更多值写入管道并读取它们?
我想:
write(fd1,&value1,sizeof(long));
write(fd1,&value2,sizeof(long));
和两次读取以及但这似乎导致阻塞,并等待对方的过程。
如果有人能给我一个提示,我会很高兴,如何实现这一点。
可能的解决方案:我写了一个数组中的所有值(因为我知道有多少),然后我只需要一个线/读电话。
管道可能被缓冲你有冲洗吗? –