Skip to content
uencoder

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

Related tools

References