Lotterie-Scheduling ist ein Wahrscheinlichkeits-Scheduling-Verfahren für Prozesse in einem Betriebssystem. Prozesse bekommen alle eine bestimmte Anzahl von Losen zugewiesen und der Prozess-Scheduler zieht ein Zufallslos, um den nächsten Prozess auszuwählen. Die Aufteilung der Lose muss nicht gleich sein. Wenn man einem Prozess mehr Lose zuweist, erhöht das seine relativen Chancen, ausgewählt zu werden. Diese Technik kann man benutzen, um sich anderen Scheduling-Verfahren, wie z.B. dem Shortest-Process-Next-Verfahren und dem Fair-Share-Scheduling, anzunähern.
Lotterie-Scheduling löst das Problem des Verhungerns. Wenn man jedem Prozess mindestens ein Los gibt, garantiert dies, dass es eine Wahrscheinlichkeit von über 0% gibt, dass dieser Prozess bei der jeweils nächsten Scheduling-Operation ausgewählt wird.
Bei Implementierungen des Lotterie-Schedulings sollte beachtet werden, dass Millionen Lose unter vielen Threads verteilt werden. Es ist also sehr uneffizient, ein Array aller Lose zu besitzen, in dem jedes Los mit seinem Thread verknüpft wird.