Managing Parallel, Part 3: When Parallel Goes Wrong. The short list of broken contracts behind most concurrency bugs