std::experimental::atomic_shared_ptr<T>::exchange
来自 cppreference.cn
< cpp | experimental | atomic shared ptr
shared_ptr<T> exchange( shared_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
原子地将底层 shared_ptr
替换为 desired
。该操作是一个读-改-写操作。内存受 order
值的影响。
目录 |
[编辑] 参数
desired | - | 要赋的值 |
顺序 | - | 要强制执行的内存顺序约束 |
[编辑] 返回值
调用前原子变量的值。
[编辑] 备注
对 atomic_shared_ptr
对象本身的所有更改,以及所有相关的 use_count 增量,都保证原子地执行。相关的 use_count
减量发生在原子操作之后,但不需要成为其一部分。任何相关的销毁或解分配操作发生在原子操作之后,而不是其一部分。
[编辑] 参阅
特化 std::shared_ptr 的原子操作(函数模板) |