Starvation
Starvation bedeutet, dass ein Thread wegen der Scheduling-Politik oder Lock-Konkurrenz über lange Zeiträume keine Ressourcen bekommt; es liegt kein Deadlock vor, aber die Fairness geht verloren.
Zweck
Die durch Nebenläufigkeits-Starvation entstehende Unfairness und ihre Abwehr verstehen; ein Scheduling-Fairnessproblem.
Mechanismus
Threads hoher Priorität verdrängen ständig, oder Lock-Konkurrenz lässt Threads niedriger Priorität unbegrenzt warten. Abwehr: faire Locks (FIFO), Priority Aging, Begrenzung der Lock-Haltedauer.
Anwendungsfälle
- Fairness in der Nebenläufigkeit
- Scheduling-Analyse
- Lock-Design