mapofl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1322回复:8

关于事件通知

楼主#
更多 发布于:2004-09-23 21:16
驱动中使用事件通知,应用程序使用多线程,是不是很占系统资源?
我的程序cpu占了90%.

arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-09-23 21:24
哪有那么夸张?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-23 21:26
驱动中使用事件通知,应用程序使用多线程,是不是很占系统资源?
我的程序cpu占了90%.

 

肯定是你的代码有问题
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
lansing
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-24 09:07
我也遇到过类似的问题,不知道什么这么耗资源!
可能是循环等待吗事件通知耗资源吗?或者如果开辟的内存大的话也比较耗资源,但是应该不耗cpu的吧?
我也想知道,大家讨论一下嘛!楼主解决了麻烦说一下!谢谢!
colinyou
驱动牛犊
驱动牛犊
  • 注册日期2003-11-03
  • 最后登录2006-03-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-24 09:36
弱弱得问:如何等待事件的发生,是用WaitForSingleObject吗?
我在C++Builder下使用之,好像不能等待啊,怎么回事?谢谢
royal_wsf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-24 11:11
如果频繁在用户态和核心态切换,比较耗系统资源。
mapofl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-24 15:50
谢谢!该这样避免频繁在用户态和核心态切换呢?这种频繁的切换可能出现在什么地方?


我觉得可能使这个原因。
在多线程的while等待中,不停的访问DeviceControl。
但是该如何避免呢?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2004-09-24 16:34
while(继续循环)
{
   rt = waitfor...obj(event_handle,...,timeout_if_need);
   swtich(rt)
   {
      case obj_0:
         do_somthing();
         break;
      case timeout:
      ...
   }
}
mapofl
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-24 18:18
谢谢!解决了
WaitForSingleObject(m_hEvent,ttt);
我原先将第二个参数设为0,现在改为10,cpu差不多8%,偶尔会高一下。
游客

返回顶部