Zum Inhalt springen
uencoder

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

Verwandte Tools

References