Choosing Synchronization Mechanisms - Synchronization Primitives: Coordinating Concurrent Access | OneNoughtOne