我用一个线程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%了?
能帮帮我吗?谢谢了
检查硬件是否采集完成,
然后用一个线程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%了?
能帮帮我吗?谢谢了
解决方案 »
- 发送数据包的结构是怎样的
- 求一个函数
- 上海浦东网络公司-招募网络应用开发人才
- 编译(debug)出错,c:\program files\microsoft visual studio\vc98\mfc\include\afxver_.h(130) : fatal error C1189: #error : Pleas
- 视图中有多个控件,鼠标移动时,如何得到鼠标所在位置下控件ID;用WindowFromPoint得到的是HWnd,能否转换为IDC_BUTTON1之类的ID值
- 如何将cstring 转换成int型
- 调用nero sdk写个刻录软件
- 多线程socket的一点问题
- 请高手点拔:当学习VC到一定程度后,该怎样向上进步?
- 请问*.dbf文件是什么格式的文件?用什么打开啊?谢?
- 为什么我调用Window的API函数总是报C2065错误?
- 我想在主线程中阻塞5秒,但是有不想停止主线程的消息响应,如ONTIMER等。但是SLEEP(),WAITFORSINGLEOBJECT(),这两个函数会挂起当前
while()
{
...
Sleep(10);
}