У меня есть два потока, один из которых обновляет int и один читает его. Это статистическое значение, в котором порядок чтения и записи не имеет значения.Чтение и запись C++ для int Atomic?
Вопрос в том, нужна ли мне синхронизировать доступ к этому многобайтовому значению? Или, по-другому, может быть часть записи заполнена и прервана, а затем начнется чтение.
Например, подумайте о значении = 0x0000FFFF, которое получает добавочное значение 0x00010000.
Есть ли время, когда значение выглядит как 0x0001FFFF, о котором я должен беспокоиться? Конечно, чем больше тип, тем более вероятно что-то подобное.
Я всегда синхронизировал эти типы доступа, но было любопытно, что думает сообщество.
Действительно? Мне было бы безразлично, что думает сообщество. Мне все равно, что факты :) – sehe 2011-09-28 18:22:11
Интересное чтение по теме: http://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1- of-2 – ereOn 2013-07-03 09:01:41
В частности, для `=`: http://stackoverflow.com/questions/8290768/is-assignment-operator-atomic – 2015-06-16 10:53:16