在Visual Studio 2015下,可以使用std::atomic
#include <atomic>
int main()
{
std::atomic<bool> flag(false);
// 原子地设置标志为true
flag.store(true);
// 原子地读取标志的值
bool value = flag.load();
return 0;
}
在上述示例中,我们创建了一个std::atomicflag
,并初始化为false。然后我们使用store()
方法原子地将标志设置为true,并使用load()
方法原子地读取标志的值。
需要注意的是,在多线程环境中使用std::atomic时,确保对共享数据的访问是原子性的非常重要。同时,还可以使用其他成员函数如exchange()
、compare_exchange_strong()
等进行更复杂的原子操作。
请注意,C++11 的 <atomic>
头文件和 std::atomic
类型需要编译器和库支持才能正常使用。如果在 Visual Studio 2015 中无法使用该头文件或类,则可能需要升级到更高版本的 Visual Studio 或考虑其他替代方案。
内容由零声教学AI助手提供,问题来源于学员提问