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 特化的原子操作 (函数模板) |