FreeRTOS之任务的挂起与恢复xSuspendedTaskList

它把所有挂起的任务加到 xSuspendedTaskList 中,

而且一旦调用 vTaskSuspend() 函数挂起一个任务,该任务就将从所有它原先连入的链表中删除(包括就绪表,延时表和它等待的事件链表【两类列表都要清掉】),

也就是说,一旦一个任务被挂起,它将取消先前它的延时和对事件的等待。

相反的唤醒就是把任务从xSuspendedTaskList中删除,加到对应的就绪链表中(根据任务的优先级),然后如果唤醒的任务优先级高于当前任务优先级,则调度。

你可能感兴趣的:(FreeRTOS之任务的挂起与恢复xSuspendedTaskList)