我有互斥锁的例子。CurrentValue- 成员Class
int Class::NextValue()
{
mutex.lock();
++CurrentValue;
++CurrentValue;
int localValue = CurrentValue;
mutex.unlock();
return localValue;
}
我不明白为什么使用localValue. 下一个代码将无法正常工作?
...
mutex.unlock();
return CurrentValue;
万一return不是原子的CurrentValue,可以在复制构造函数期间更改。但是在第一个代码示例中可以与localValue?