编程思想 消息机制
2017-11-21 14:23
211 查看
什么是消息?
何为消息?消息就是带有某种信息的信号,如你用鼠标点击一个窗口会产生鼠标的消息,键盘输入字符会产生键盘的消息,一个窗口大小的改变也会产生消息。消息从何而来?根据冯·诺依曼的体系结构计算机有运算器、存储器、控制器和输入设备和输出设备五大部件组成,消息主要来自输入设备,如键盘、鼠标、扫描仪等,也可来自已窗口和操作系统。
消息机制的三大要点:消息队列、消息循环(分发)、消息处理。其结构如下:
消息队列就是存放消息的一种队列,具有先进先出的特点。每产生一个消息都会添加进消息队列中,在Window中消息队列是在操作系统中定义的。消息队列就如同一群排队打饭的少男少女,这群人中光景较好的排在前面,光景较差的排在后面,可以理解成是一种优先级队列!要想更多的了解队列的相关知识,可参见队列。
消息循环就是通过循环(如while)不断地从消息队列中取得队首的消息,并将消息分发出去。类似于上面的例子中分发饭菜值日生。
消息处理就是在接收到消息之后根据不同的消息类型做出不同的处理。上面例子中值日生根据学生不同类型的饭票给他们不同等级的饭菜就是消息处理,学生手中的饭票就是消息所携带的信息。
事件是根据接收到的消息的具体信息做出的特定的处理,放在代码中是事件响应函数。上面的例子中学生拿到饭菜后吃饭就是具体的事件。
相关文章推荐
- 【转】编程思想之消息机制
- 回首Java——编程思想之消息机制
- 编程思想之消息机制
- 编程思想之消息机制
- 编程思想之消息机制
- 编程思想之消息机制
- 编程思想之消息机制
- 编程思想之消息机制
- Java编程思想学习笔记_4(异常机制,容器)
- Android编程中的消息机制实例详解
- 利用消息机制实现.NET AOP(面向方面编程)--通过RealProxy实现
- 初解,Scala语言中基于Actor的并发编程的机制,并展示了在Spark中基于Scala语言的Actor而产生的消息驱动框架Akka的使用,
- 编程”灵魂之心“之消息机制
- 利用消息机制实现.NET AOP(面向方面编程)--利用RealProxy和消息接收器实现多截获
- 非阻塞模式WinSock编程入门(Socket关联窗口消息机制)
- 利用消息机制实现.NET AOP(面向方面编程)--利用ServerContextSink实现多截获
- windows编程笔记(一)消息机制
- Android编程实现异步消息处理机制的几种方法总结
- Windows编程_Lesson004_Windows消息机制
- Android 多线程编程:Handler消息传递机制—刷新UI主界面