Seven concurrency models in seven weeks: when threads unravel (The Pragmatic Programmers, 2014)