关于windows线程
来源:互联网 发布:怎么修改淘宝账户名 编辑:程序博客网 时间:2024/05/16 02:20
windows为 每个线程维护一个消息队列,在这个线程中通过getmessage来获得线程消息队列中的消息。然后通过dispatchmessage把消息送给窗口函数。单谈dispatchmessage是非常智能的,能根据窗口绑定的窗口函数去找该调用哪个窗口函数。在创建窗口前就已经注册了窗口函数了,所以dispatch找的到时哪个窗口函数。
一个普通的工作线程也是有消息队列的,只是没有GetMessage去获得这个队列中的消息。比如说在主线程中去show一个模态对话框,因为模态对话框里面有一个GetMessage循环所以就不需要主线程中的GetMessage趣获得消息了,所以模态对话框自成一体。
这个在工作线程中也是OK的。在工作线程中创建一个模态对话框一样工作的非常好。因为模态对话框中的GetMessage可以取得工作线程中的消息。如果换成一个普通的窗口或者非模态对话框就不可以,因为他们自身没有GetMessage这个获取消息的循环,所以窗口收不到消息,得不到任何刷新的机会,所以就看不到窗口。
在MFC中AfxBeginThread可以创建一个UI线程,这个UI线程其实就是比普通线程多了一个获取消息的循环while(GetMessage...){ ...}
这样在这个线程中创建的窗口就可以得到这个循环分派的消息。跟主线程的工作方式一样。
- 关于windows线程
- 关于 Windows 窗体控件进行线程安全调用
- 关于Windows控件的线程安全——很重要!!!
- windows多线程基础(4):关于线程更多知识
- 《Windows程序设计》书中关于线程局部存储的问题
- 关于windows下创建线程 CreateThread函数的用法
- Windows线程
- windows 线程
- Windows线程
- Windows 线程
- Windows线程
- windows 线程
- 关于线程
- 关于线程
- 关于线程
- 关于线程
- 关于线程
- 关于线程
- 为什么需要Page Object?
- Android Bluetooth 相关说明
- oralce 密码过期处理
- 邮件服务器反垃圾设置技术
- Oracle CASE WHEN 用法介绍
- 关于windows线程
- 一起来看下白领长期熬夜的一些危害以及补救措施
- Google Android 文档笔记-Training-Getting started [3]
- Android.mK 文件
- 关于IE下面iframe跨域 cookie丢失的问题
- 北京联合大学CSDN高校俱乐部腾讯微爱项目——育慧里第一讲
- visio不改变图的大小,增大/减小画布
- varnish日志相关
- Google Android 文档笔记-Training-Getting started [4]