Linux内核如何实现计时器?
在 Linux 要实现定时器,虽然实现方式可能有所不同,但是很多在原理上都是一致的,可以当成一种,这样一来,可以笼统得归纳成三类,分别是:精确度比较高的 IO 复用系统调用 比较常见的 SIGALRM 信号 针对网络的 socket 选项 SO_RCVTIMEO 和 SO_SNDTIMEO基于 SIGALRM 信号呢,具体实现起来方法也很多,这里我主要讨论一下以下几种方式:基于链表 基于排序链表 基于时间轮 基于最小堆硬中断...