std::experimental::atomic_shared_ptr<T>::exchange
来自cppreference.com
< cpp | experimental | atomic shared ptr
shared_ptr<T> exchange( shared_ptr<T> desired, std::memory_order order = std::memory_order_seq_cst ) noexcept; |
||
原子地以 desired
替换底层 shared_ptr
。此操作是读修改写操作。根据 order
的值影响内存。
参数
desired | - | 要赋的值 |
order | - | 要强制的内存定序约束 |
返回值
调用前原子变量的值。
说明
对 atomic_shared_ptr
对象自身的所有改动,所有关联的 use_count 自增均保证原子地实施。所有关联的 use_count
自减都在原子操作之后发生,而并不要求是其一部分。任何关联的析构或解分配操作均在验证操作之后发生,且不是其一部分。
参阅
为 std::shared_ptr 特化的原子操作 (函数模板) |