Я пытаюсь использовать std:: atomic library.
- В чем разница между специализированным и неспециализированным атомарным функции-члены?
- Какая разница (если есть) между следующими функциями?
- operator = хранит значение в атомном объекте (функция публичного члена) v.s. store (С++ 11) атомарно заменяет значение атомного объекта неатомным аргументом (функция публичного участника)
- оператор T() загружает значение из атомарного объекта (public member function) v.s. load (С++ 11) атомарно получает значение атомарного объекта (функция публичного члена).
- оператор + = v.s. fetch_add
- оператор - = v.s. fetch_sub
- оператор & = v.s. fetch_and
- оператор | = v.s. fetch_or
- operator ^ = v.s. fetch_xor
- В чем отличие объявления переменной как атома v.s.
неатомная переменная. Например, какой недостаток
std::atomic<int> x
v.s.int x
? Другими словами, сколько накладных расходов на атомную переменную? - У кого больше накладных расходов? Атомная переменная, v.s. нормальный переменная, защищенная мьютексом?
Вот ссылка на мои quesitons. http://en.cppreference.com/w/cpp/atomic/atomic