14.事件驱动

事件驱动是一种代码编写范式,程序的执行流由外界事件决定。特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。
两外两种常用的范式是(单线程)同步和多线程编程

传统的代码编写是线性模式的:

开始->代码块a->代码块b->代码块c->代码块d->结束
每一个代码快里完成各种各样的事情,但是编程者知道代码执行的顺序,唯一能够改变流程的是数据,设置条件判断,可以改变代码快的执行顺序

对于事件驱动型程序模型,它的流程如下:

开始->初始化->等待
事件驱动程序启动后,就在那等待着,等待着事件被触发。事件驱动程序的等待完全不知道,也不强制用户输入或者干什么
只要某件事发生,程序就会做出相应的反应。这些事件包括:输入信息,鼠标,敲击键盘上某个键还有系统内部定时器触发

事件驱动型程序的模型大体如下:

1.有一个事件队列
2.事件出发时,往这个队列中增减一个相应的事件
3.有个循环,不断的从队列中取出事件,根据不同事件,调用不同的处理函数
4.事件一般都各自保存各自的处理函数指针,这样每个事件都有独立的处理函数

posted @ 2020-11-03 16:49  maday  阅读(596)  评论(0)    收藏  举报