首页 > 试题广场 >

在FreeRTOS中, 我们使用vTaskDelete()来

[不定项选择题]
在FreeRTOS中, 我们使用vTaskDelete()来删除一个任务,这个函数主要做的工作是()
  • 将任务从任务就绪列表中删除。
  • 释放任务的任务控制块和任务堆栈所占用的内存。
  • 调用任务删除钩子函数。
  • 强制进行一次任务切换。
B不可能,空闲任务才会回收,A也不严谨,任务都不一定在就绪态里
编辑于 2024-04-09 20:57:25 回复(0)
B怎么可能D也不对啊
编辑于 2024-04-09 11:07:29 回复(1)
A.如果某个运行的任务删除另一个就绪态的任务,会直接把这个任务删除 --> 将任务从任务就绪列表中删除
B.删除自身时是在空闲任务中释放堆栈,运行的任务删除其他任务时是直接在delete函数中执行
C.如果删除是自身时,会调用任务删除钩子函数
D.如果删除是自身时,会强制进行切换
发表于 2025-07-14 15:59:19 回复(0)
vTaskDelete会强制进行一次任务切换
发表于 2024-08-09 15:34:47 回复(1)