Work Stealing

In a work-stealing thread pool, each thread has its own local deque of tasks. How does work stealing improve performance compared to a single shared work queue?

A

It allows threads to execute tasks in strict priority order across all queues

B

It eliminates the need for any synchronization between threads entirely

C

It reduces contention on the shared queue: threads mostly access their own local deque, and only steal from others when idle

D

It guarantees that all threads finish at exactly the same time