InformIT: Concurrent Programming on Windows: Synchronization and Time > Managing Program State: "Joe Mayo takes a look at state and synchronization at a fairly high level. He reviews the three general approaches to managing state in a concurrent system and looks at the relationship between state, control flow, and the impact on coordination among concurrent threads."