如果有3个任务(T1,T2,t3),优先级为P1 P2 P3.
P1是下注的.
假设任务P2正在进行一些计算.在执行期间,它希望将CPU提供给系统中的其他任务.
TaskDelay(0)是否仍然可以在这种情况下工作?或者仅当所有任务具有相同优先级时才有效?
此致,帕布
taskDelay(0)不会导致优先级较低的任务来控制CPU.
只有当具有相同优先级的任务准备好执行时,taskDelay(0)才会导致上下文切换.
taskDelay(0)实际上使优先级为x的任务放在优先级x就绪队列的末尾.如果它是该优先级的唯一任务,它将保留CPU.