首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于相同的技术,轮询和事件驱动编程是不同的说法吗?

对于相同的技术,轮询和事件驱动编程是不同的说法吗?
EN

Stack Overflow用户
提问于 2012-11-26 10:32:26
回答 2查看 9K关注 0票数 6

我研究了中断和周期性轮询,并了解了无需等待轮询的中断的优势。在我看来,轮询似乎就像事件驱动编程,或者至少类似于侦听器,而轮询所做的实际上更像是侦听输入或输出。你同意还是我误解了轮询(循环监听)和事件驱动编程(也就是所谓的监听器监听)之间的关键区别?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-26 10:50:05

不,恰恰相反,中断驱动编程在硬件层面上几乎就是事件驱动编程。中断驱动的代码和事件驱动的代码都会在运行代码之前等待事件,而轮询将尝试查询事件是否确实存在。

然而,应该注意的是,中断和事件驱动的程序通常是使用轮询的形式在较低级别实现的;没有真正的中断或事件驱动的系统不涉及某种类型的轮询,尽管通常是在硬件中。在中断的情况下,CPU实际上每个时钟周期轮询中断行,事件驱动编程也是如此,因为重新启动暂停的线程涉及由事件源(通常是驱动程序)引发的中断。

您可以说,中断和事件驱动编程是一种经过训练的轮询方式,与实际自己进行轮询相比,它具有很多优势。

票数 14
EN

Stack Overflow用户

发布于 2012-11-26 10:37:09

轮询和中断处理是了解事件的两种方式。两者都不与事件驱动编程相矛盾,事件驱动编程是围绕处理传入事件来构建程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13557904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档