Choosing Synchronization Mechanisms - Synchronization Primitives | OneNoughtOne