Являются ли операции чтения и записи в C++ атомарными? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Являются ли операции чтения и записи в C++ атомарными? [дубликат]

Сообщение Гость »


У меня есть два потока: один обновляет int, а другой читает его. Это статистическое значение, для которого порядок чтения и записи не имеет значения.

Мой вопрос: нужно ли мне вообще синхронизировать доступ к этому многобайтовому значению? Или, другими словами, часть записи может быть завершена и прервана, а затем произойдет чтение.

Например, представьте себе значение = 0x0000FFFF, которое получает увеличенное значение 0x00010000.

Есть ли моменты, когда значение выглядит как 0x0001FFFF, о чем мне следует беспокоиться? Разумеется, чем крупнее шрифт, тем больше вероятность того, что подобное произойдет.

Я всегда синхронизировал эти типы доступа, но мне было любопытно, что думает сообщество.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»