事件驱动模型

Posted gjx1212

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件驱动模型相关的知识,希望对你有一定的参考价值。

一.传统编程模式

开始--->代码块A---->代码块B===>代码块C---->---->结束

每一个代码块完成不同的功能,但编程块之间有顺序,唯一能够改变这个流程的是数据,由于输入数据的不同,会有不同的结果。

二.事件驱动模型

开始---->初始化----->等待

与上面的传统模式不同,事件驱动程序在启动之后,就在那里等待。等待事件被触发,传统编程下也有等待的时候,例如,input则需要用户输入。编程者知道用户输入的内容与数据类型,这是传统编程模式。事件驱动模式等待的事件是未知,也不强制用户输入什么,只要某一件事件发生,程序会执行相应部分的内容,

三.事件驱动的本质

事件驱动模型的大体思想:

1.有一个事件(消息)队列

2.鼠标按下时,就将事件添加在该队列中

3.有个循环不断从该队列中取出事件,调用不同的函数

4.每个消息都各自保存各自独立的函数指针,这样,每个事件都有自己独立的处理函数/

事件驱动编程是一种编程范式/这里程序的执行顺序有外部事件绝定,特点包含一个事件循环,当外部事件发生时会使用回调机制来触发相应的的处理。

以上是关于事件驱动模型的主要内容,如果未能解决你的问题,请参考以下文章

跟我学android之四 事件驱动模型

事件驱动模型

事件驱动架构的事件驱动架构优势

Python并发编程-事件驱动模型

事件驱动模型

nodejs入门总结二:事件驱动