gpt4 book ai didi

c++ - C++中的指针分配是原子的吗?

转载 作者:IT老高 更新时间:2023-10-28 23:14:50 30 4
gpt4 key购买 nike

我实际上听到了两种说法。我怀疑他们不是,但我想解决这个话题。

最佳答案

C++03 不知道线程的存在,因此原子性的概念对 C++03 没有多大意义,这意味着它什么也没说。

C++11 确实知道线程,但再一次没有说明分配指针的原子性。但是 C++11 确实包含 std::atomic<T*> ,保证是原子的。

请注意,即使写入原始指针在您的平台上是原子的,编译器仍然可以自由地移动该分配,因此这并不能真正为您带来任何好处。

如果您需要写入线程之间共享的指针,请使用 std::atomic<T*> (或尚未正式发布的 boost::atomic<T*> 、gccs atomic intrinsics 或 windows Interlocked*)或将对该指针的所有访问封装在互斥体中。

关于c++ - C++中的指针分配是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8919818/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com