Chapter 5: Thread synchronization and classic problems

Modified

July 21, 2026

This chapter explains why shared data creates race conditions and uses classic concurrency problems to build a practical model for deciding when synchronization is necessary.

Topics covered

This chapter is part of the full edition. The free preview edition does not include its full text.

View the author’s works and full-edition information