Work Stealing

Noun · Development

Definitions

  1. A scheduling strategy where idle threads 'steal' tasks from busy threads' queues, achieving automatic load balancing without central coordination. Each thread has its own deque -- it pushes/pops from one end, and thieves steal from the other. Used by Java's ForkJoinPool, Tokio (Rust), and Rayon (Rust). Optimal for irregular parallel workloads.

    In plain English: A system where idle worker threads take tasks from busy workers' queues, keeping everyone evenly loaded.

    Example: "Tokio uses work stealing across its runtime threads -- if one thread finishes its tasks, it steals from others instead of sitting idle."

Related Terms