与多线程并行写入和读取套接字(SOCK_STREAM
)是否有意义?在Linux上。这些系统调用是否互相阻塞?在插座上并行读取/写入
2
A
回答
5
是的,它是有道理的。由于它们在不同的线程中,因此它们不会彼此阻塞。
1
只要有一个作者和一个读者线程,它就是有意义的。如果您有多个读取器线程,则需要锁定读取,如果您有多个写入器线程,则必须锁定写入。
+0
在多读者或多写者的情况下,除了锁定之外,还需要为套接字的另一端清楚地定义消息边界,以便理解这一切。并且请注意,send()和recv()不保证将您告诉他们的数据量传输到。 –
相关问题
- 1. 再现与Java编写的写入后读取延迟插座
- 2. BufferedReader卡在读取上。从插座
- 3. 并行读取和写入
- 4. 并行读取/写入ADLA
- 5. 从插座读取
- 6. 从插座读取
- 7. 从/向一个插座读取/写入JSON
- 8. Android慢速插座读取
- 9. PHP读取从插座
- 10. 只读插座?
- 11. 写插座
- 12. 写入并读取到SDcard
- 13. 写入并读取Android
- 14. 虽然循环失败,当插座读取输入在java
- 15. 如何处理TcpStream上的并行读取和写入?
- 16. 在CUDA中合并读取/写入
- 17. 在读取行时,awk $行并写入变量
- 18. 写对象插座
- 19. 从插座读取字符串时,写入打印额外字符
- 20. 如何读取.json文件并写入新文件,用Python插入换行符
- 21. Sqlite - 读取时插入行
- 22. Boost Asio不完整写入插座
- 23. 写入到插座中使用PHP
- 24. 写入插座X字节失败后
- 25. 从插座读取缓冲区
- 26. iPhone从插座读取图像
- 27. 无法从NETMF插座读取
- 28. 从插座读取Android的asynctask
- 29. 读取位而不是int从插座
- 30. 如何停止从插座读取
说他们是否“阻塞”对方并不那么容易 - 这取决于套接字后面的_implementation_,甚至在硬件上(思考:全双工/半双工网络接口)。同意,从系统调用接口方面来看,事实并非如此。 –