级别与边缘触发网络事件机制

时间:2009-12-27 20:00:33

标签: c networking

对某些网络事件机制(即epoll / poll / select)进行边缘或级别触发是什么意思?

2 个答案:

答案 0 :(得分:50)

简短的回答是,边缘触发意味着只有在检测到事件时才会收到通知(这在概念上,在瞬间发生),而水平触发意味着只要事件存在就会收到通知(这将是在一段时间内是真实的)。例如,在边缘触发系统中,如果您希望通知在数据可供读取时向您发出信号,那么您只会在数据无法读取之前获得该通知,但现在可以获得。如果您读取了一些可用数据(以便仍然可以读取其余数据),您将不会收到另一个通知,如果您读取了所有可用数据,那么当数据可供再次读取时,您将收到另一个通知。在级别触发的系统中,只要数据可供读取,您就会收到通知

答案 1 :(得分:11)

在电子产品中,识别电压变化和电压达到特定水平之间的区别。在ASCII艺术中:

                ------------     ---     ----
               / <---(2)    \   /   \   /    \
              /              \-/     \-/      \
             /                                 \
            /   <---(1)                         \
           /                                     \     /\
          /                                       \   /  \
----------                                         ---    ----

边沿触发事件意味着当电压(或其他)被发现上升时触发事件,这可能是在标记为(1)的时间。电平触发事件意味着当电压达到特定电平时,事件被触发 - 例如,在标记为(2)的时间。但是,在嘈杂的环境中,电平触发事件意味着跟踪中会有两个(上升的)电平触发事件,但不会有更多(上升)边沿触发事件。因此,边缘触发事件往往比水平触发事件更稳定。 (并且边缘触发事件不仅仅是较低的电压电平 - 对ASCII艺术有限制。)