您的位置:首页 > 运维架构 > Linux

linux c下几种定时器实现

2016-06-17 15:18 281 查看
1、alarm
n秒后触发一次,不是循环的
2、setitimer
可以发出3种信号给自己,
3、timerfd
这个接口基于文件描述符,通过文件描述符类似epoll那种的可读事件进行超时通知,能够被用于select/epoll/poll的应用场景,linux内核2.6.25版本及以上版本使用,golang也是这么要求的,估计他用的timerfd
4、利用服务器while(true) epoll_wait等短暂阻塞,无限循环,来检查event队列,超时就执行,来实现定时效果
5、另外有一点 epoll_wait 会被SIG中断,也有利用这点实现即时的定时器的,nginx里可以配置选择使用这种,或者使用第4种
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: