定时器组件设计
定时器设计可以分为两部分:
1、 定时驱动
定时驱动可以有下面几种方式
1.1 基于信号函数alarm驱动
1.2 基于sleep阻塞函数驱动
1.3 基于io多路复用器驱动
select、poll、epoll的timeout时间
2、 定时事件管理
定时事件管理需要维护定时事件集合,因为需要按照定时时间的先后触发,所以需要保证有序,常用下面几种维护结构:
2.1 最小堆
2.2 红黑树
2.3 时间轮
参考博文:Linux基础知识点(五-信号)_linux 信号-CSDN博客
定时器设计可以分为两部分:
1、 定时驱动
定时驱动可以有下面几种方式
1.1 基于信号函数alarm驱动
1.2 基于sleep阻塞函数驱动
1.3 基于io多路复用器驱动
select、poll、epoll的timeout时间
2、 定时事件管理
定时事件管理需要维护定时事件集合,因为需要按照定时时间的先后触发,所以需要保证有序,常用下面几种维护结构:
2.1 最小堆
2.2 红黑树
2.3 时间轮
参考博文:Linux基础知识点(五-信号)_linux 信号-CSDN博客