Ein Scheduling-Algorithmus sollte alle Threads so einplanen, daß sie ihre Deadlines einhalten. Dabei ist es wichtig, daß das Verhalten der Threads vorhersagbar ist. Ist es nicht möglich, alle Threads korrekt einzuplanen - also bei einer Überlastung des Prozessors - ist es wünschenswert, eine möglichst große Teilmenge so auszuführen, daß sie ihre Deadlines erreichen. Der Algorithmus sollte dafür sorgen, daß die wichtigsten Threads in dieser Teilmenge enthalten sind.
Dies gilt im wesentlichen für weiche Echtzeitbedingungen. Wenn harte Deadlines betrachtet werden, geht man davon aus, daß jede verpasste Deadline fatal ist. Deshalb sind Überlastsituationen dann grundsätzlich zu vermeiden.
Eine weitere Forderung ist eine hohe Auslastung der Ressourcen, so daß ein Prozessor möglichst viel Arbeit erledigen kann, ohne die Einhaltung der Deadlines zu vernachlässigen. Das ermöglicht es, einen langsameren und damit kostengünstigeren Prozessor anstelle eines schnelleren einzusetzen, der einen großen Teil der Zeit keine Arbeit verrichten kann.
Außerdem sollte der Algorithmus selbst möglichst effizient zu implementieren sein, um den Overhead durch den Scheduler gering zu halten. Schließlich kann Rechenzeit, die der Scheduler braucht, nicht für echte Berechnungen verwendet werden.