與多線程並行寫入和讀取套接字(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_,甚至在硬件上(思考:全雙工/半雙工網絡接口)。同意,從系統調用接口方面來看,事實並非如此。 –