Здравствуйте, коллеги.
Правильно ли я понял:
— Мне не надо явно использовать какие-либо примитивы синхронизации для одновременного read-write доступа из нескольких потоков для любых объектов класса std::atomic<T>
— Операции, выполняемые над объектами класса std::atomic<T>, могут быть как lock-free, так и non-lock-free, в зависимости от конкретной реализации
— std::atomic_bool и std::atomic<bool> (а также другие подобные им типы из C++11), на самом деле, одно и то же
— std::atomic_flag -- единственный класс, для объектов которого стандартом гарантируется, что все операции будут lock-free
И ещё -- кто-нибудь может посоветовать годный мануал на тему std::memory_order и его правильного использования?
Заранее благодарю.