2

優先順位 P1 P2 P3 の 3 つのタスク (T1、T2、t3) がある場合。

P1は保留中です。

タスク P2 が何らかの計算を行っているとします。実行中、システム内の他のタスクに CPU を譲ります。

この状態でも TaskDelay(0) は機能しますか? または、すべてのタスクが同じ優先度の場合にのみ機能しますか?

よろしく、 プラブー

4

1 に答える 1

5

taskDelay(0)により、優先度の低いタスクが CPU を制御することはありません。

同じ優先度のタスクを実行する準備ができている場合にのみ、taskDelay(0) によってコンテキスト スイッチが発生します。

taskDelay(0) は基本的に、優先度 x のタスクを優先度 x の準備完了キューの最後に配置します。それがその優先度の唯一のタスクである場合、CPU を保持します。

于 2008-11-29T05:34:42.547 に答える