linux新定时器:timefd及相关操作函数

timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景。

一,服务器空间,香港服务器,相关操作函数

#include <sys/timerfd.h>

int timerfd_create(int clockid, int flags);

int timerfd_settime(int fd, int flags, const struct itimerspec *new_value, struct itimerspec *old_value);

int timerfd_gettime(int fd, struct itimerspec *curr_value);

二,timerfd_create

int timerfd_create(int clockid, int flags);

它是用来创建一个定时器描述符timerfd

第一个参数:clockid指定时间类型,有两个值:

CLOCK_REALTIME :Systemwide realtime clock. 系统范围内的实时时钟

CLOCK_MONOTONIC:以固定的速率运行,从不进行调整和复位 ,它不受任何系统time-of-day时钟修改的影响

第二个参数:flags可以是0或者O_CLOEXEC/O_NONBLOCK。

返回值:timerfd(文件描述符)

三,香港服务器,timerfd_settime

在讲解该函数前,先理解两个相关结构体:

struct timespec {time_t tv_sec;tv_nsec;};struct itimerspec {timespec it_value;};用开怀的笑容去迎接每一个黎明,

linux新定时器:timefd及相关操作函数

相关文章:

你感兴趣的文章:

标签云: