我用一个线程a来
检查硬件是否采集完成,
然后用一个线程b来进行读取硬件cache中的数据,因为还有个数据处理的线程c(主要是把读到的数据进行处理,并且画出图来),
线程b,c我用临界区来进行线程同步,而a,b我用的是事件,a 中也就是一个循环吧,如下
while(//没有结束)
{
if(//可以读取了)
 Event.SetEvent();
}
b中则
while(//没有结束)
{Event.lock()
EnterCriticalSection()
........
//读取数据
LeaveCriticalSection()Event.unlock()
}
c中则是每隔20ms对数据进行处理
这里面应该写EntercriticalSetcion,leavecriticalSetcion吗?
为什么我的程序运行起来效率特别低,cpu占用率达到几乎100%了?
能帮帮我吗?谢谢了