Я знаю, что volatile, например, не обеспечивает атомарность для int, но делает ли это, если вы обращаетесь к одному байту? Семантика требует, чтобы операции записи и чтения всегда производились из памяти, если я правильно помню.
Или, другими словами: Всегда ли ЦП читают и записывают байты атомарно?