Seven Concurrency Models in Seven Weeks: When Threads Unravel (The Pragmatic Programmers)