RT-Thread 源代码解读之:双向链表数据结构

       双向链表是一种基本并且很重要的数据结构,但是具体有什么用?很多软件开发者是不知道的,或者很少使用,我们最早接触和了解双向链表大多是在学校的编程语言书上或数据结构教材上,但在工程实践中鲜有应用。对于嵌入式操作系统内核的设计,双向链表有着广泛和重要的应用,这里就对RT-Thread中的双向链表进行源码的解读,深入了解它在RT-Thread 内核中的作用。

       我们知道RT-Thread 内核对象包含了内核中的绝大部分设施,包括线程,信号量,互斥量,事件,邮箱,消息队列和定时器,内存池,设备驱动等,RT-Thread 采用内核对象管理系统来访问 / 管理所有内核对象,对象容器中包含了每类内核对象的信息,包括对象类型,大小等。对象容器给每类内核对象分配了一个链表,所有的内核对象都被链接到该链表上,RT-Thread 的内核对象容器及链表如下图所示:

双向链表的一般定义:

双向链表是一种数据结构,它是由一系列节点组成的数据集合,每个节点包含三个部分:一个存储数据的元素、一个指向前一个节点的引用(或称为指针)以及一个指向后一个节点的引用。这种结构使得双向链表中的每个节点不仅能够知道它的下一个节点是谁,也能知道它的前一个节点是谁。

RT-Thread中双向链表数据结构struct rt_list_node:

/**
   双向链表结构
 * Double 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值