Threads Considered Harmful

Threads Considered Harmful


See slides

More resources


The Problem With Threads

  • Edward A. Lee, The Problem with Threads, Technical Report UCB/EECS-2006-1, 2006
  • — good description of the main problems in using raw threads and locks. The tile of the section is indirectly referencing this paper.
  • Kevlin Henney, Concurrency Versus Locking, 2 Minute Tech Tip
  • — nice analogy that explains the performance problem with locking
  • Kevlin Henney, Thinking Outside the Synchronisation Quadrant, ACCU 2017
  • — good description of the problems with threads; a lot of inspiration for this talk
  • Sean Parent, Better Code: Concurrency, NDC London 2017
  • — formulates the "no raw threads" principle, and attempts to build a higher-level replacement

A General Solution

Coordination without Synchronization

Composability and Decomposability

— more details can be found in an article that I’ve submitted for ACCU’s Overload; hopefully this will get accepted

An Example

Concurrency Patterns