0
我正在写一个C++程序在Qt中有一个OnReceive(int值)事件。它捕获并将整数值push_back到std :: vector中。在另一个工作线程上,我可以访问这个向量,我可以设置一个信号量来等待20个值,然后我可以处理它们。生产者和消费者优化
我想做一些优化。
我的问题是如何将我的缓冲区或向量分割为0-4,5-10,11-19的3个部分,例如只要向量中有5个值可用(例如0到4) ,第二名工作人员开始处理他们,而第一个线程仍然继续获得其余的值?
通过这种方式我想我的线程之间有重叠。所以他们不需要连续运行。
谢谢。
在互联网上搜索“双缓冲”。 –