CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

帮帮我啊,实在是不知道该怎么弄了啊

楼主loyalzu(Pointer)2003-10-02 10:33:30 在 VC/MFC / 进程/线程/DLL 提问

我用一个线程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%了?  
  能帮帮我吗?谢谢了  
  问题点数:0、回复次数:3Top

1 楼tolixiaohui()回复于 2003-10-02 10:52:20 得分 0

while  
  肯定占资源了  
   
  gzing!Top

2 楼mme(dog)回复于 2003-10-02 19:38:48 得分 0

你用while(){}当然会占用很多资源啦。在while循环里面加一句Sleep(1);就可以少占用cpu资源了。Top

3 楼Skt32(荒城之月)回复于 2003-10-03 11:44:24 得分 0

 
  while()  
  {  
        ...  
        Sleep(10);  
  }Top

相关问题

  • 谁能帮我!我实在是不知道该怎么做了!
  • 求救!我实在不知道该怎么学delphi了!
  • 我实在是不知道该怎么办??????
  • 怪问题,我实在不知道怎么解决
  • 在线的大侠帮忙啊,实在不知道怎么改!
  • 实在是不知道,这样怎么传值?
  • Servlet的问题,不知道怎么弄
  • 我有一段代码,大家看看!我实在不知道该怎么办?
  • 试图连接字符串的程序 实在不知道怎么少了')'
  • 名字空间的问题,但实在不知道该怎么解决

关键词

  • 线程
  • 数据
  • 占用
  • 资源
  • event

得分解答快速导航

  • 帖主:loyalzu

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo