[架构]消息机制

本文介绍了消息机制的概念,将其比喻为排队打饭的过程,详细阐述了消息的来源、结构和类型。同时,通过控制台模拟展示了消息机制的运行过程,并对比了消息机制与事件机制在实现方式、消息循环与事件处理上的异同。强调了消息队列、消息循环和消息处理的重要性,以及在实际应用中如何选择使用事件机制或消息机制。
摘要由CSDN通过智能技术生成

排队打饭的情景相信曾经是学生的你一定经历过,像极了消息机制的原理,也许发明消息机制的灵感就是原来于这样的生活吧!排队的学生就是消息队列,值日生分发饭菜就是消息循环并完成消息处理,学生吃饭就类似于事件处理。

什么是消息?

何为消息?消息就是带有某种信息的信号,如你用鼠标点击一个窗口会产生鼠标的消息,键盘输入字符会产生键盘的消息,一个窗口大小的改变也会产生消息。

消息从何而来?根据冯·诺依曼的体系结构计算机有运算器、存储器、控制器和输入设备和输出设备五大部件组成,消息主要来自输入设备,如键盘、鼠标、扫描仪等,也可来自已窗口和操作系统。

消息/事件机制是几乎所有开发语言都有的机制,在某些语言称之为事件(Event),有些地方称之为消息(Message). 一个/条消息可以理解为是一个数据结构,包含以下几个基本部分:

  • 消息源 :就是消息的来源,发出这个消息的对象
  • 消息名 :就是消息的唯一标示
  • 消息数据:消息发出后附带的数据,有可能数据是空

消息从种类上又可以分为2种:

  • 系统消息 :由操作系统或deviceone系统发送出来的消息,消息的名称是固定的。
  • 自定义消息:由开发者自己定义,自己发送出来的消息,消息的名字是随意的,可以任意定义。

举例说明:比如用户点击一个do_Button按钮,就会触发一个系统消息,包含3个部分:

  • 消息源:用户点中的button对象
  • 消息名:touch
  • 消息数据:这个消息没有附带数据 

消息机制的三大要点:消息队列、消息循环(分发)、消息处理。其结构如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值