什么是事件驱动编程?列出三个常用的windows事件 (什么是事件驱动编程)

本文目录导航:

什么是事件驱动编程?列出三个常用的windows事件

事件驱动编程是一种编程范式,其中程序的执行取决于事件的发生和处理。

在事件驱动编程中,程序通常由一个事件循环控制,等待事件的发生,然后调用相应的事件处理程序来响应事件。

事件可以是用户交互、传感器输入、系统通知等。

什么是事件驱动编程?列出三个常用的windows事件 (什么是事件驱动编程)

在Windows操作系统中,有许多常见的事件类型,以下是其中三个常用的Windows事件:

事件驱动编程的用户动作产生的事件

用户动作源对象事件类单击按钮JButtonActionEvent单击复选框JCheckBoxItemEvent, ActionEvent单击单选框JRadioButtonItemEvent, ActionEvent在文本框里按回车键JTextFieldActionEvent选择一个新项目JComboBoxItemEvent, ActionEvent窗口打开、关闭等WindowWindowEvent鼠标按下、释放等ComponentMouseEvent键盘按钮、释放等ComponentKeyEvent要理解事件驱动和程序,就需要与非事件驱动的程序进行比较。

实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的。

早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这是很浪费cpu时间的。

而事件驱动的程序,则有机会释放cpu从而进入睡眠态(注意是有机会,当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒,这样就能更加有效地使用cpu.再说什么是事件驱动的程序。

一个典型的事件驱动的程序,就是一个死循环,并以一个线程的形式存在,这个死循环包括两个部分,第一个部分是按照一定的条件接收并选择一个要处理的事件,第二个部分就是事件的处理过程。

程序的执行过程就是选择事件和处理事件,而当没有任何事件触发时,程序会因查询事件队列失败而进入睡眠状态,从而释放cpu。

事件驱动的程序,必定会直接或者间接拥有一个事件队列,用于存储未能及时处理的事件。

事件驱动的程序的行为,完全受外部输入的事件控制,所以,事件驱动的系统中,存在大量这种程序,并以事件作为主要的通信方式。

事件驱动的程序,还有一个最大的好处,就是可以按照一定的顺序处理队列中的事件,而这个顺序则是由事件的触发顺序决定的,这一特性往往被用于保证某些过程的原子化。

目前windows,linux,nucleus,vxworks都是事件驱动的,只有一些单片机可能是非事件驱动的。

典型的事件驱动型应用有哪些

目前大部分的UI编程都是事件驱动模型,如很多UI平台都会提供onClick()事件,这个事件就代表鼠标按下事件。

事件驱动模型大体思路如下:有一个事件(消息)队列;鼠标按下时,往这个队列中增加一个点击事件(消息);有个循环,不断从队列取出事件,根据不同的事件,调用不同的函数,如onClick()、onKeyDown()等;事件(消息)一般都各自保存各自的处理函数指针,这样,每个消息都有独立的处理函数;所以,事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定。

它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。

另外两种常见的编程范式是(单线程)同步以及多线程编程。

注意,事件驱动的监听事件是由操作系统调用的cpu来完成的

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

85阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

88阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

88阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

79阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

65阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

92阅读