idr机制解决了什么问题?为什么需要idr机制(或者说,idr机制这种解决方案,相对已有的其他方案,有什么优势所在) ?

  idr在linux内核中指的就是整数ID管理机制,从本质上来说,这就是一种将整数ID号和特定指针关联在一起的机制。

  假设我们的代码内需要将一个设备的ID号和描述该设备信息的结构体联系,我们应该怎么做?

  最简单的方法当然是通过数组(在当前场景下准确说,是结构体数组,每个数组元素包含一个ID和一个指针。但是结构体数组,依然是数组!)进行索引,

  但如果ID号的范围很大(比如32位表示的ID号),则用数组索引显然不可能,因为这需要定义很大的数组,消耗很大的内存空间。

  第二种方法是用链表,查找的时候根据ID来遍历链表。但如果实际存在的设备较多,则链表的查询效率会很低。

  遇到上述清况,我们就可以采用idr机制,该机制内部采用radix树实现,可以很方便地将整数和指针关联起来,并且具有很高的搜索效率。

idr树实现机制,参考:

https://blog.csdn.net/midion9/article/details/50923095

.

最新文章

  1. LeetCode——Single Number II(找出数组中只出现一次的数2)
  2. JQuery 学习笔记(01)
  3. rails之 Migrations (转)
  4. swift:入门知识之泛型
  5. 解决Java版CKFinder无法显示缩略图问题
  6. Windows Azure 社区新闻综述(#71 版)
  7. 大整数相乘问题总结以及Java实现
  8. BZOJ 2940: [Poi2000]条纹(Multi-Nim)
  9. vue特殊属性 key ref slot
  10. Direct3D 11 Tutorial 1: Basics_Direct3D 11 教程1:基础
  11. 01-python3.5-模块导入-while-for-range-break-continue
  12. 刘志梅201771010115.《面向对象程序设计(java)》第四周学习总结
  13. centos6安装rabbitmq
  14. JVM G1GC参数配置
  15. 【java基础】基础小总结
  16. ubuntu18.04初始化配置
  17. iOS图标抖动效果
  18. Docker搭建RabbitMQ集群
  19. 小程序animation动画效果综合应用案例(交流QQ群:604788754)
  20. java.lang.Error: Unresolved compilation problem: 解决方案

热门文章

  1. 手写迷你Tomcat
  2. TCP/IP网络编程之字节序和网络字节序
  3. Oracle-Over()函数高级用法
  4. 关于babel你需要知道的事情
  5. JVM内存区域以及各区域的内存溢出异常,内存分代策略,垃圾收集算法,各种垃圾收集器
  6. string matching(拓展KMP)
  7. Pinpoint 一款强大的APM工具
  8. 轻轻松松学CSS:媒体查询
  9. 干货:不同场景容器内获取客户端源IP的方法
  10. Vue cli4 图片地址引入的几种方式