
定时器
文章平均质量分 57
destory27
一个人的改变,源自于自我的一种积极进取,而不是等待什么天赐良机。
展开
-
基于升序链表的定时器 - 处理非活动连接
服务器程序通常要定期处理非活动连接:给客户端发送一个重连请求,或者关闭该连接。利用alarm函数周期性的触发SIGALRM信号, 该信号的信号处理函数利用管道通知主循环执行定时器链表上的定时器任务---关闭非活动的连接。 采用升序双向链表实现定时器的功能,核心函数tick,它每隔一端固定时间就执行一次,以检测并处理到期的任务。判断定时器任务到...原创 2018-08-16 20:51:59 · 721 阅读 · 0 评论 -
高性能定时器-------时间轮
基于排序链表的定时器(https://blog.youkuaiyun.com/destory27/article/details/81748580)存在一个问题:添加定时器的效率偏低。 如图所示时间轮内,指针指向轮子上的一个槽,它以恒定的速度顺时针旋转,每旋转一步就指向先一个槽.该时间轮共有N个槽,旋转一周的时间是N*Si,每个槽指向一条定时器链表,没条链表上的定时...原创 2018-08-16 23:50:43 · 1106 阅读 · 0 评论 -
高性能定时器------------时间堆
基于升序链表的定时器(https://blog.youkuaiyun.com/destory27/article/details/81748580)和时间轮定时器(https://blog.youkuaiyun.com/destory27/article/details/81750790)都是以固定的频率调用tick,并在其中依次检测到期的定时器,然而执行到定时器上的回调函数.设计定时器的另一种思路是:将所有的定...原创 2018-08-17 11:10:48 · 620 阅读 · 0 评论