Что такое memory ordering в контексте Go?

Senior
99 просмотров
AFK Offer AI

Go memory model определяет happens-before отношения: запись в переменную видна другой горутине только если есть синхронизация (канал, мьютекс, atomic). Без этого компилятор и CPU могут переупорядочить операции. Atomic операции в Go дают sequential consistency. Простое присваивание между горутинами — data race, даже если кажется безопасным.

Следующий вопрос

Как padding помогает с false sharing?