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