消息队列

1、什么是消息?

当我们点击鼠标的时候,或者当我们按下键盘的时候,操作系统都要把这些动作记录下来,存储到一个结构体中,这个结构体就是消息。

2、消息队列:每个线程只有一个消息队列

当我们用鼠标点击某个窗口右上角的X号的时候,具体的步骤如下

1、发送一个消息,将消息放入到系统消息队列里面

2、系统根据这个消息找到对应的窗口对象 (怎么找的,见下面问题1)

3、根据窗口对象里面的成员线程,找到这个窗口所属的线程

4、将消息放入到线程的消息队列里面

5、该线程的消息循环接收到这个消息,关闭应用程序

3、窗口和线程

问题1: 系统是怎么根据位置来找到窗口对象的呢???

根据位置等信息遍历所的窗口对象,找到该消息所属的窗口(消息是针对于窗口的)

问题2: 所以点击一个窗口的时候,消息是怎么从系统消息队列放入到线程消息队列里面的呢?

位置---->窗口对象------>线程内核对象------>消息队列

最后要注意:

一个线程可以有多个窗口,但是一个窗口只能属于一个线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值