We first check if a condition is satisfied without synchronization and then check again with synchronization if the condition failed. The intentional is to reduce synchronization overhead.
We first check if a condition is satisfied without synchronization and then check again with synchronization if the condition failed. The intentional is to reduce synchronization overhead.