Starvation
Starvation is a thread being unable to acquire resources for long periods due to scheduling policy or lock contention; there is no deadlock, but fairness is lost.
Purpose
To understand the unfairness caused by concurrency starvation and its defenses; a scheduling fairness problem.
Mechanism
High-priority threads continually preempt, or lock contention keeps low-priority threads waiting indefinitely. Defenses: fair locks (FIFO), priority aging, limiting lock hold time.
Use cases
- Concurrency fairness
- Scheduling analysis
- Lock design