我使用管道在進程之間進行通信。當我寫入管道,並且讀取速度比寫入速度慢時,會寫入()阻塞,直到原子寫入管道爲止。C++管道:是否等待寫入
2
A
回答
1
是的,至少如果寫入的字節數小於保證爲原子的數量。
1
write()
不需要寫入所有傳遞的數據 - 它可以寫得更少,你必須檢查實際寫入的數量。
1
符合POSIX標準的系統應該阻塞。
從寫(2)手冊頁:
「POSIX要求,讀(2),它可以證明一個寫之後發生()返回返回新的數據請注意,並非所有的文件系統 。符合POSIX標準「
相關問題
- 1. 如何寫入命名管道,不要等待讀取管道
- 2. 如何在命名管道(c#)上進行非等待寫入?
- 3. 父進程中的read()是否等待管道中的子寫()?
- 4. Powershell管道進入EXE和等待
- 5. 如何等待數據寫入管道的另一端
- 6. C中的多個管道,等待輸入的程序
- 7. C#異步/等待寫入文本框
- 8. python如何知道子進程是否正在等待輸入
- 9. c + +等待輸入
- 10. 管道是否有'liftIO`等價物?
- 11. C socket:是否等待recv結束?
- 12. Perl:打開管道進行寫入,但程序沒有「等待」STDIN
- 13. C:「寫入:斷開的管道」錯誤
- 14. 寫入和通過管道用C
- 15. 將數據寫入管道C++
- 16. nodejs將管道標準輸入到zlib中而不等待EOF
- 17. 什麼是「HDFS寫入管道」?
- 18. 找出管道的寫入結束是否關閉
- 19. 檢查管道是否在寫入之前打開
- 20. 寫字符到管道C
- 21. 寫入FIFO(命名管道)
- 22. Python 3寫入管道
- 23. fprintf不寫入管道
- 24. 在perl中寫入管道
- 25. .NET AutoResetEvent:如何知道進程是否在等待(方法WaitOne)?
- 26. 如何等待流寫入完成
- 27. 等待文件完全寫入
- 28. C函數不會等待任何輸入,但會檢測是否有輸入?
- 29. 等到2 pid寫入FIFO(命名管道)
- 30. 是否等待等待諾言般的對象?