我正在Qt中编写一个具有OnReceive(int value)事件的C ++程序。它将整数值捕获并推送到std :: vector中。在另一个工作线程上,我可以访问这个向量,我可以设置一个信号量来等待20个值然后我可以处理它们。
我想做一些优化。
我的问题是如何将我的缓冲区或矢量分成0-4,5-10,11-19的3个部分,例如,只要矢量中有5个值可用(例如0到4),第二个工作程序开始处理它们,而第一个线程仍然继续获取剩余的值?
通过这种方式我希望我的线程之间有重叠。所以他们不需要连续运行。谢谢。