2
如果有3個任務(T1,T2,t3)具有優先級P1 P2 P3。將taskDelay(0)產生CPU到較低優先級的任務
P1已掛起。
假設任務P2正在做一些計算。在執行過程中,它希望將CPU分配給系統中的其他任務。
將TaskDelay(0)仍然在這種情況下工作?或者只有當所有任務具有相同的優先級時才起作用?
問候,帕布
如果有3個任務(T1,T2,t3)具有優先級P1 P2 P3。將taskDelay(0)產生CPU到較低優先級的任務
P1已掛起。
假設任務P2正在做一些計算。在執行過程中,它希望將CPU分配給系統中的其他任務。
將TaskDelay(0)仍然在這種情況下工作?或者只有當所有任務具有相同的優先級時才起作用?
問候,帕布
taskDelay(0)將不原因的較低優先級任務採取CPU的控制。
只有當具有相同優先級的任務準備好執行時,taskDelay(0)纔會導致上下文切換。
taskDelay(0)本質上會導致優先級x的任務放在優先級x就緒隊列的末尾。如果它是唯一的優先級,它將保留CPU。