Гарантия
happens-before не исключает гонок
reader writer состояние
---------- ------ ------------
перед x=0 x=1, y=2
x=1 x=1, y=2
x=0 x=0, y=2
y=0 x=0, y=0
y=2 x=0, y=2
При следующем вызове
reader
он получит состояние в котором
x
равно 0, когда
y
равно 2.