但是不知道如何入手?
不知道各位有没有什么代码可以参考参考?
先谢谢啦
1 个解决方案
#1
不要整那么复杂,就是用std:queue管理两个队列,姑且叫做queueEmpty和queueValid,生产者每次从queueEmpty.pop一个缓冲区,填写数据后,执行queueValid.push,排到queueValid中去;然后消费者每次从queueValid.pop一个缓冲区,读取数据后,执行queueEmpty.push,排到queueEmpty里面去。消费者和生产者两个线程各跑各的,只要pop不到东西就循环等吧。
以上是基本思路。
有了基本思路后,你可以使用EVENT+WaitForSignalObject来优化,避免循环等耗费CPU;
实现优化后,再加一个Quit的EVENT+WaitForMultipObject来处理推出的事情(可选了)。
收工。
尝试自己谢谢,会有收获的!
以上是基本思路。
有了基本思路后,你可以使用EVENT+WaitForSignalObject来优化,避免循环等耗费CPU;
实现优化后,再加一个Quit的EVENT+WaitForMultipObject来处理推出的事情(可选了)。
收工。
尝试自己谢谢,会有收获的!
#1
不要整那么复杂,就是用std:queue管理两个队列,姑且叫做queueEmpty和queueValid,生产者每次从queueEmpty.pop一个缓冲区,填写数据后,执行queueValid.push,排到queueValid中去;然后消费者每次从queueValid.pop一个缓冲区,读取数据后,执行queueEmpty.push,排到queueEmpty里面去。消费者和生产者两个线程各跑各的,只要pop不到东西就循环等吧。
以上是基本思路。
有了基本思路后,你可以使用EVENT+WaitForSignalObject来优化,避免循环等耗费CPU;
实现优化后,再加一个Quit的EVENT+WaitForMultipObject来处理推出的事情(可选了)。
收工。
尝试自己谢谢,会有收获的!
以上是基本思路。
有了基本思路后,你可以使用EVENT+WaitForSignalObject来优化,避免循环等耗费CPU;
实现优化后,再加一个Quit的EVENT+WaitForMultipObject来处理推出的事情(可选了)。
收工。
尝试自己谢谢,会有收获的!