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

多线程学习笔记---基础篇

楼主wangyangcheng(矛盾)2005-06-16 18:48:45 在 VC/MFC / 进程/线程/DLL 提问

最近看J.J   Hou译的<<Win32多线程程序设计>>和一本<<Windows环境下的多线程编程原理与应用>>一书,  
   
  边看边练书上的例子,初步有了一些了解,还有若干不明白的概念,特发贴求教:  
   
  1.经我试验,得出以下四条结论,不知对否?  
   
      无论是手动还是自动信号在有调用PulseEvent()的结果永远是无信号状态;  
       
      无论是手动还是自动信号在有调用SetEvent()的结果永远是有信号状态  
   
      无论是手动还是自动信号在有调用ResetEvent()的结果永远是无信号状态  
   
      由以上三条可得:  
            手动信号和自动信号的唯一区别即在于Sinaled之后所能响应的线程的个数?  
            (前者是若干个,后者仅为一个?)  
   
   
   
  2.我试验了一下,不知为何当thread1与thread2都在wait同一个mutex时都没有ReleaseMutex(),然而  
      两者都能同时运行,何解?  
   
   
   
  3.在J.J   Hou译的<<Win32多线程程序设计>>书中有如下两段话不明白:  
   
      a.把一个const   volatile变量传递给函数作为参数是合法的,如此声明意味着函数不能够  
          改变变量的值,但变量的值却可被另一线程在任何时间内改掉。  
   
      b.Windows的线程是事件驱动(Event   driven)模式,而且常常返回到主消息循环中。  
   
   
   
  ps:感觉多线程下完全无法像单线程那样在脑子里"运行"程序了。  
        有点捉摸不住   的感觉。 问题点数:20、回复次数:7Top

1 楼wangyangcheng(矛盾)回复于 2005-06-16 20:58:21 得分 0

更新一点:  
   
        若SetEvent(   自动对象   )之后其处于有信号状态,当且仅当一个线程被此对象激活后,则此对象  
   
  即自动变为无信号状态。  
   
        以上对否???  
   
   
        那如此说来,PulseEvent()主要是针对手动信号所用的。对否?Top

2 楼wangyangcheng(矛盾)回复于 2005-06-16 21:27:58 得分 0

增加:  
   
      对于自动信号而言,使用SetEvent()和PulseEvent()的效果都是相同的。Top

3 楼Featured(我握着爱情的门票静静排队……)回复于 2005-06-16 21:34:45 得分 5

推荐<windows核心编程>,它讲的实在透彻Top

4 楼JohnTitor(贱畜)回复于 2005-06-16 21:40:51 得分 5

建议搂主看看windows核心编程里面的successful   wait   side   effects一节,以上的问题在于那些WaitFor函数是否改变事件内核对象的状态Top

5 楼wangyangcheng(矛盾)回复于 2005-06-17 12:09:06 得分 0

Thanks!Top

6 楼itman1982(一生有你(李))回复于 2005-06-17 17:58:12 得分 5

windows   高级编程指南,出看一看.Top

7 楼aben456(金珠MERP)回复于 2005-06-19 01:09:36 得分 5

event只是一个红绿等  
  路上的车还要靠自己的眼睛来判断是否可以通行Top

相关问题

  • 关于多线程得学习问题
  • 学习多线程,求一道题!
  • ※请教linux与多线程技术的基础
  • 多线程啊多线程
  • 哪里有专门介绍c++多线程编程的说或者资料,基础一点的,我对多线程编程是入门级的,谢谢大家
  • 多线程socket!!!
  • 多线程
  • 多线程
  • 多线程
  • 多线程

关键词

  • 信号
  • 线程
  • 函数
  • 手动
  • 自动
  • pulseevent
  • 变量
  • 调用
  • 状态
  • setevent

得分解答快速导航

  • 帖主:wangyangcheng
  • Featured
  • JohnTitor
  • itman1982
  • aben456

相关链接

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

广告也精彩

反馈

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