Для любого std::atomic<T>
, где T - примитивный тип:
Если я использую std::memory_order_acq_rel
для операций fetch_xxx
и std::memory_order_acquire
для load
и std::memory_order_release
для store
вслепую (я имею в виду, как сброс настроек памяти по умолчанию для этих функций)
- Результаты будут такими же, как если бы я использовал
std::memory_order_seq_cst
(который используется по умолчанию) для любой из объявленных операций? - Если результаты были одинаковыми, это использование так или иначе отличается от использования
std::memory_order_seq_cst
с точки зрения эффективности?