当前位置:  技术问答>linux和unix

linux动态定时器插入时 我没想明白

    来源: 互联网  发布时间:2017-01-29

    本文导语:  static void internal_add_timer(struct tvec_base *base, struct timer_list *timer) {         unsigned long expires = timer->expires;         unsigned long idx = expires - base->timer_jiffies;         struct list_head *vec;         if ...

static void internal_add_timer(struct tvec_base *base, struct timer_list *timer)
{
        unsigned long expires = timer->expires;
        unsigned long idx = expires - base->timer_jiffies;
        struct list_head *vec;

        if (idx tv1.vec + i;
        } else if (idx tv2.vec + i;
        } else if (idx tv3.vec + i;
......

根据idx的值确定这个定时器应被插入到哪一个定时器向量中
这个很好理解
但是  插入的具体位置根据定时器的expires值来决定????这我就不懂了。。。
那在不同时刻的两个定时器  他们的idx在都一样的情况下,因为expires肯定不一样
,那插入的位置会不一样。
如果定时器1的expires=0x00ff   定时器2 = 0x0155  若是他们的idx一样,那定时器2不是被插到定时器1前面去了?
如果定时器1的expires=0x0055   定时器2 = 0x0155  若是他们的idx一样,那定时器2不是被插到定时器1那里去了?
请懂的人指点一下。。。。。。

|
这个定时器,肯定的排序啊,要不你每次都要检查一遍所有的定时器。排好序就只要检查最先超时那个就可以了。

那个vec对应的位置是个链表,可以链在一起的,不会覆盖。

    
 
 

您可能感兴趣的文章:

  • linux 定时器销毁
  • 请问linux下的定时器怎么使用??******************************
  • Linux用户态可以通过同一段程序创建多个定时器么?
  • Linux 提供的基于文件描述符的定时器接口
  • linux定时器!
  • linux下如何设置高精度定时器?
  • 测试linux定时器
  • linux 多个定时器 几乎同时到时 , 部分定时器信号 丢失的问题.
  • linux里面如何实现定时器的功能
  • 请问Linux下如何使用定时器?
  • linux中的串口通信判断一帧数据是否传输完整时,用定时器检查前后两帧数据的间隔时间,该用什么定时函数,有详细代码最好,谢谢!
  • ***请问linux下面有没有使用精度到ms级的定时器API函数啊?***
  • Linux下有定时器库函数吗?
  • linux下,如何在多线程中每个线程设置一个定时器,在线等,急。。。谢谢
  • linux 定时器问题
  • 关于linux的定时器问题
  • Linux有定时器函数吗?是不是要自己实现?如果有的话是什么函数呢?谢谢
  • linux下怎么实现用一个进程里多个定时器?
  • linux下该如何取消用setitimer设置的定时器呢?
  • Linux下的定时器的实现
  • Linux c++库boost unordered_set数据插入及查找代码举例
  • 请问linux下程序中如何检测移动硬盘的插入拔除?
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • 急,请问Linux中如何像windows获取网络接口是否插入网线???
  • Linux 如何确认插入的USB设备是SDA还是SDD
  • Linux下用户层程序如何获知某个USB设备被插入?
  • linux 机器上如何 检测 是否有 U盘 插入过,并拷走文件?
  • linux下如何对文本文件和记录文件进行插入删除操作啊?
  • vm中文本模式,安装redhatE5的场合,设置完字体后提示没有插入linux盘
  • linux pro c 插入数据库汉字都是?? 急
  • U盘插入后Linux无响应,怎么回事?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux crontab 设定老是想不明白。。。。
  • 想了解LINUX一定能明白汇编语言吗?
  • linux 分区 储存问题,纠结,想不明白了(新手)
  • 关于linux shell的一个不明白的地方。求解
  • 最近在linux下装extmail,看文档不明白这是什么意思,帮忙翻译下
  • linux下ulimit命令的具体作用,不是很明白,请教一下
  • linux命令,简单的!!不太明白
  • 一个想不明白的问题,为什么在windows中可以ping 通域名,但在linux却不可以 ??
  • xp和Linux9.0装在一起后,启动时grub说找不到/boot,我很不明白是怎么回事?
  • 有谁会用linux里面的wget?有一个参数是-i 后面加上url地址文件,我不明白什么叫url地址文件,那位大侠告诉我?
  • 阅读linux2.6.4内核源代码是看到movw %cs, %ax指令不明白
  • 搜索了半天还是没弄明白linux分区
  • 鸟哥linux私房菜上有一处不明白
  • 刚装了linux,有一些基本的问题不太明白,请指教.
  • 天看linux得源代码有这样一段,不甚明白,ENTRY(gdt_table)
  • 不太明白linux下的网络编程做些什么
  • linux as 5 安装vsftpd make 时提示 如下错误,搞了两天没整明白,帮帮我吧,
  • 终于明白了LInux为什么是宏内核了
  • 怎么配置linux下面的bind作为dns服务器啊,看了好多资料,可是还是不明白很.
  • 关于LINUX下驱动的一些不明白
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • linux下如何设置高精度定时器? iis7站长之家
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3