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