與多線程並行寫入和讀取套接字(SOCK_STREAM
)是否有意義?在Linux上。這些系統調用是否互相阻塞?在插座上並行讀取/寫入
2
A
回答
5
是的,它是有道理的。由於它們在不同的線程中,因此它們不會彼此阻塞。
1
只要有一個作者和一個讀者線程,它就是有意義的。如果您有多個讀取器線程,則需要鎖定讀取,如果您有多個寫入器線程,則必須鎖定寫入。
+0
在多讀者或多寫者的情況下,除了鎖定之外,還需要爲套接字的另一端清楚地定義消息邊界,以便理解這一切。並且請注意,send()和recv()不保證將您告訴他們的數據量傳輸到。 –
相關問題
- 1. 再現與Java編寫的寫入後讀取延遲插座
- 2. 並行讀取和寫入
- 3. 並行讀取/寫入ADLA
- 4. 從插座讀取
- 5. 從插座讀取
- 6. PHP讀取從插座
- 7. 只讀插座?
- 8. 寫入並讀取Android
- 9. 寫入並讀取到SDcard
- 10. 如何處理TcpStream上的並行讀取和寫入?
- 11. 在CUDA中合併讀取/寫入
- 12. 在讀取行時,awk $行並寫入變量
- 13. 從插座讀取字符串時,寫入打印額外字符
- 14. 寫對象插座
- 15. Sqlite - 讀取時插入行
- 16. Boost Asio不完整寫入插座
- 17. 寫入插座X字節失敗後
- 18. 如何停止從插座讀取
- 19. 無法從NETMF插座讀取
- 20. 從插座讀取Android的asynctask
- 21. 從插座讀取緩衝區
- 22. 插座較長的讀取數據
- 23. iPhone從插座讀取圖像
- 24. 讀取位而不是int從插座
- 25. 如何提高插座讀取性能?
- 26. 在UWP上讀取和寫入Excel
- 27. 異或在流上,讀取和寫入
- 28. 閱讀多行使用的BufferedReader(插座)
- 29. 在MySQL上併發讀取和寫入表
- 30. 在文件上寫入公鑰並使用objectInputStream讀取
說他們是否「阻塞」對方並不那麼容易 - 這取決於套接字後面的_implementation_,甚至在硬件上(思考:全雙工/半雙工網絡接口)。同意,從系統調用接口方面來看,事實並非如此。 –