-1
A
回答
1
它完全取决于线程期望从套接字获得的内容。来自套接字的数据不太可能在三线程的读取之间被混淆,因此您需要在一定范围内进行一些同步,而不仅仅是确保每个线程都可以从套接字读取字节而不干扰其他线程'做同样的能力。
那么线程应该如何同步呢?他们是否独立地将记录拉出插座?他们都应该读取所有数据吗?还有别的吗?
如果他们独立地从套接字中提取记录,那么应该只需要一个线程从套接字读取记录,构造某种记录对象,并将这些对象放置在线程安全队列中以供3个线程访问。
如果线程都应该读取相同的数据,那么您有一个缓冲区,其中每个线程向缓冲区注册,并且缓冲区会跟踪每个读者的位置。然后缓冲区会保留数据,直到所有线程都读取完毕,并且一旦所有线程都清除了数据并用套接字中的更多数据填充该空间。
相关问题
- 1. C++ OpenGL多线程缓冲区资源
- 2. 线程安全缓冲区封装流
- 3. Java中的线程和缓冲区
- 4. 在线程间共享帧缓冲区
- 5. 线程安全循环缓冲区?
- 6. 线程安全缓冲区阵列
- 7. 循环缓冲区的线程安全
- 8. 打印缓冲区终止线程
- 9. 多态性c和缓冲区
- 10. Rx缓冲Winsock Socket编程C++。如何清除RX缓冲区?
- 11. C编程套接字缓冲区
- 12. C编程中的缓冲区数组?
- 13. C++ DLL中线程安全的字符串缓冲区变量
- 14. c多线程冲突
- 15. 如何保护使用多线程的缓冲区?
- 16. 高效的多线程共享访问内存缓冲区
- 17. 如何同步多线程OpenGL缓冲区访问?
- 18. C填充缓冲区
- 19. Linux C定义缓冲区
- 20. C++ HLSL缓冲区变量
- 21. C++缓冲区疼痛
- 22. C++缓冲区与Qt
- 23. 从缓冲区读取C
- 24. C++中的位缓冲区
- 25. C++溢出缓冲区
- 26. C - fread()缓冲区索引
- 27. 缓冲区管理c
- 28. c#缓冲区说明
- 29. C Windows缓冲区大小
- 30. 读取缓冲区C++
你想施加什么样的规则。 Serialise阅读?或者是其他东西? –