中断还是定时轮询
中断实际上是温室里的花朵,看起来美,但真正处于复杂和极端的环境时,硬件可靠性非常值得怀疑。因此,只要计算力够,就建议采用轮询的方式。
举个例子,曾经做过局端DSL驱动,因为电话线问题,DSL芯片不间断发出线路中断告警,导致CPU被中断淹没,这个问题最简单的方法是采用轮询,复杂一点的话对单位时间中断数设限,超过限制就将相关中断关掉。编程中任何一个系统外部信号的处理,第一反应就是如果这个信号不正常应该怎么办?这会带来非常多的创造性方法以及大量的工作量。但也可能会让你觉得换一个高性能硬件是最简单的解决方案。