假设我有以下功能。
std::mutex mutex;
int getNumber()
{
mutex.lock();
int size = someVector.size();
mutex.unlock();
return size;
}
这是volatile
在声明大小时使用关键字的地方吗?如果我不使用 volatile,返回值优化或其他东西会破坏此代码吗?的大小someVector
可以从程序拥有的众多线程中的任何一个中更改,并且假设只有一个线程(修饰符除外)调用getNumber()
.