atomic vs other synchronization mechanisms