[Редактировать] Извинения, я был вне этого, когда я первоначально прочитал этот вопрос и дал неправильный ответ, который любезно указал Джальф.
Я знаю, что в большинстве случаев написание
двойная не атомарная операция
потому что обычно это больше, чем один
зарегистрируйтесь, но можете читать
операция будет прервана?
Да. Представьте себе, что вы пытаетесь написать свой собственный плавающий тип двойной точности IEEE, используя две переменные размера WORD. Мы не можем прочитать оба из них атомарно, поскольку они являются двумя различными частями. Кто-то может быть в процессе одновременной модификации, в то время как мы пытаемся читать.
мне нужно беспокоиться о
потоки читают одну и ту же переменную в
в то же время (не меняется) или б)
написание переменной процесса
прерывание процесса чтения.
a: нет
b: да
Вам нужно будет либо использовать механизм синхронизации для считывателей (в дополнение к записывающему устройству), либо, если вы похожи на меня, просто сделать это плавающим типом с одинарной точностью WORD для общих данных, который часто атомарный для чтения в современных системах (хотя вы должны это проверить), придерживайтесь атомарных операций, чтобы изменить его и избежать головной боли.