我使用管道在进程之间进行通信。当我写入管道,并且读取速度比写入速度慢时,会写入()阻塞,直到原子写入管道为止。C++管道:是否等待写入
2
A
回答
1
是的,至少如果写入的字节数小于保证为原子的数量。
1
write()
不需要写入所有传递的数据 - 它可以写得更少,你必须检查实际写入的数量。
1
符合POSIX标准的系统应该阻塞。
从写(2)手册页:
“POSIX要求,读(2),它可以证明一个写之后发生()返回返回新的数据请注意,并非所有的文件系统 。符合POSIX标准“
相关问题
- 1. 如何写入命名管道,不要等待读取管道
- 2. 如何在命名管道(c#)上进行非等待写入?
- 3. 父进程中的read()是否等待管道中的子写()?
- 4. 管道是否写入标准输入?
- 5. Powershell管道进入EXE和等待
- 6. 如何等待数据写入管道的另一端
- 7. C中的多个管道,等待输入的程序
- 8. C#异步/等待写入文本框
- 9. C&Linux:等待文件被写入
- 10. 在C#中,如何知道线程是否正在等待为ReaderWriterLockSlim输入写入锁定?
- 11. python如何知道子进程是否正在等待输入
- 12. c + +等待输入
- 13. 如何让管道上的输入等待输入结束?
- 14. 管道是否有'liftIO`等价物?
- 15. 等待写入文件
- 16. C socket:是否等待recv结束?
- 17. 在管道中等待的字节
- 18. Perl:打开管道进行写入,但程序没有“等待”STDIN
- 19. 如果管道已满,是否会写入管道块的进程?
- 20. 在C中读取/写入UNIX管道
- 21. 写入和通过管道用C
- 22. C:“写入:断开的管道”错误
- 23. 将数据写入管道C++
- 24. C多个进程写入1管道
- 25. nodejs将管道标准输入到zlib中而不等待EOF
- 26. 管道读取主机不等待输入
- 27. 什么是“HDFS写入管道”?
- 28. 检查管道是否在写入之前打开
- 29. 如何在写入之前检查管道是否打开?
- 30. 如何确定是否可以写入管道