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

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

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


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

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

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

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

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

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