水平与边缘触发网络事件机制
Posted
技术标签:
【中文标题】水平与边缘触发网络事件机制【英文标题】:Level vs Edge Trigger Network Event Mechanisms 【发布时间】:2010-12-30 07:50:09 【问题描述】:某些网络事件机制(即epoll/poll/select)被边缘或电平触发是什么意思?
【问题讨论】:
【参考方案1】:简短的回答是,边缘触发意味着您仅在检测到事件时收到通知(从概念上讲,发生在瞬间),而电平触发意味着您在事件出现时收到通知(这将在一段时间内为真)。例如,在边缘触发系统中,如果您希望在数据可供读取时通知您,您只会在以前无法读取数据时收到该通知,但现在可以读取。如果您读取了一些可用数据(以便剩余数据仍然可以读取),您将不会收到另一个通知,如果您读取了所有可用数据,那么当数据再次可供读取时,您会收到另一个通知。在级别触发的系统中,每当数据可供读取时,您都会收到通知。
【讨论】:
【参考方案2】:在电子产品中,发现电压正在变化和电压已达到特定水平之间的区别。在 ASCII 艺术中:
------------ --- ----
/ <---(2) \ / \ / \
/ \-/ \-/ \
/ \
/ <---(1) \
/ \ /\
/ \ / \
---------- --- ----
边沿触发事件意味着当发现电压(或其他)上升时触发事件,这可能在标记为 (1) 的时间。电平触发事件意味着当电压达到特定电平时,事件被触发 - 例如,在标记为 (2) 的时间。然而,在嘈杂的环境中,电平触发事件意味着轨迹中将有两个(上升)电平触发事件,尽管不再有(上升)边缘触发事件。因此,边缘触发的事件往往比电平触发的事件更稳定。 (边沿触发的事件不仅仅是较低的电压电平 - ASCII 艺术是有限制的。)
【讨论】:
这是错误的:“电平触发事件意味着当电压达到特定电平时”。 “达到电压”是边沿触发的定义。电平触发事件立即检查电压是否高于阈值,而不考虑历史记录。不存在“(上升)级别触发事件”。 我希望看到这些对立的定义被调和以上是关于水平与边缘触发网络事件机制的主要内容,如果未能解决你的问题,请参考以下文章