当传入数据到达时,我有一个线程(WRITER)不断填充缓冲区(在我的例子中是一个向量)。而且我有另一个线程(阅读器)定期检查缓冲区的传入数据并在处理数据完成后清除缓冲区。一旦我看到一个建议改为使用两个缓冲区(A 和 B)的实现。WRITER 写入缓冲区 A,当读取数据的时间到了,READER 接管缓冲区 A,WRITER 开始读取 B ......并且这种翻转继续。
我用谷歌搜索了参考或示例代码,但找不到任何东西。你能给我推荐一个参考吗?另外,这是最好和最简单的方法吗?
谢谢你
当传入数据到达时,我有一个线程(WRITER)不断填充缓冲区(在我的例子中是一个向量)。而且我有另一个线程(阅读器)定期检查缓冲区的传入数据并在处理数据完成后清除缓冲区。一旦我看到一个建议改为使用两个缓冲区(A 和 B)的实现。WRITER 写入缓冲区 A,当读取数据的时间到了,READER 接管缓冲区 A,WRITER 开始读取 B ......并且这种翻转继续。
我用谷歌搜索了参考或示例代码,但找不到任何东西。你能给我推荐一个参考吗?另外,这是最好和最简单的方法吗?
谢谢你
最简单的解决方案是在 Boost 库的帮助下使用同步队列。
在 CodeProject 上有一篇关于这个的文章,在 Google 上有无数的例子。