Patterns and Idioms

Knowing about the basic problems of concurrency (as presented in the last chapter) is not enough to save you from them in complex programs. In this chapter we'll talk about some common patterns that help us write safe multi-threaded code.