...
While this is an acceptable compliant solution, intrinsic locks cause threads to block and may introduce contention; volatile, on . On the other hand, does volatile-qualified shared variables do not block. Excessive synchronization can also make the program prone to deadlock.
...