Я понимаю, что std :: atomic является атомным объектом. Но атомный, в какой степени? Насколько я понимаю, операция может быть атомной. Что именно подразумевается, чтобы сделать объект атомным? Например, если есть два потока одновременно, выполняющие следующий код: < /p>
Я понимаю, что std :: atomic является атомным объектом. Но атомный, в какой степени? Насколько я понимаю, операция может быть атомной. Что именно подразумевается, чтобы сделать объект атомным? Например, если есть два потока одновременно, выполняющие следующий код: < /p>
[code]a = a + 12; < /code>
Тогда вся операция (скажем, add_twelve_to (int) < /code>) атомана? Или изменения вносятся в переменную Atomic (SO Operator = () [/code])?