首页 > TAG信息列表 > timerfd
muduo库net源码分析三(定时器)
让EventLoop 能够处理定时器事件 定时函数 用于让程序等待一段时间或安排计划任务: sleep alarm usleep nanosleep clock_nanosleep getitimer / setitimer timer_create / timer_settime / timer_gettime / timer_delete timerfd_create / timerfd_gettime / timerfd_settime 选Linux网络编程中的时间函数
目录计时函数定时函数多线程服务端中的选择参考 计时函数 用于获取当前(日期)时间: time(2) / time_t (秒) ftime(3) / struct timeb (毫秒) gettimeofday(2) / struct timeval (微妙) clock_gettime(2) / struct timespec (纳秒) gmtime / localtime / timegm / mktime / strftime / strucLinux Timer定时器
timerfd为Linux为用户程序提供的定时器接口,该接口基于文件描述符,通过文件描述符的可读事件进行超时通知,且能够被用于epoll/select。主要有三个函数。 头文件: include <sys/timerfd.h> int timerfd_create(int clockid, int flags) 功能: 生成定时器,返回文件描述符。 clockid: CLOLinux C/C++定时器
1. 定时接口 sleep函数族: sleep,usleep,nanosleep,clock_nanosleep 特点:有一定的精度,但是会使线程挂起。 信号:alarm,setitimer 特点:采用了信号SIGALRM,由于SIGALRM信号不可靠,会造成超时通知不可靠,而且多线程中处理信号比较复杂。 Linux定时接口:timer_create/timtimerfd是Linux为用户程序提供的一个定时器接口
timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,因此可以配合select/poll/epoll等使用。 timerfd_create()函数 #include <sys/timerfd.h> int timerfd_create(int clockid, int flags); /* timerfd_create()函数创