内容纲要
前一节课时中,我们学习了双向链表数据结构。现在,我们在这节课时中将应用这一结构。
在这节课时中,定义了一个用于管理延时任务的链表,所有需要延时的任务都会插入到这个链表。在后面的课程中我们还可以看到,双向链表还可以用于调度器的多优先级队列、任务等待队列等应用。
主要内容
课程中主要涉及四个要点:
- 定义延时队列
- tTimeTaskWait()将任务插入延时队列
- tTimeWakeUp()将任务从延时队列中移除
- tTimeSystemTickHandler()中遍历整个延时列表,对延时队列进行管理。
在学习过程中,请结合以下两幅图,理解上面三种接口在执行过程中,任务怎样在就绪表和延时队列间转移。