linux的内核定时器

时间:2022-03-28 17:54:35

    linux内核定时器使用struct timer_list来描述一个定时器:


    struct timer_list {
    struct list_head entry;
     unsigned long expires;     /*设置超时时间*/
    struct tvec_base *base;
     void (*function)(unsigned long);   /*超时后执行的内容*/
   unsigned long data;
    };
   ps:此结构体在不同的内核版本中可能会有差异,但是使用方法相同

    定时器使用流程:
    (1)定义定时器变量  struct timer_list my_timer;
    (2)初始化定时器

        <2.1>init_timer初始化

              init_timer(&my_timer);

              my_timer.function = my_timer_func

          <2.2>设置超时时间
    (3)add_timer注册定时器
    (4)mod_timer启动定时器