Memory Synchronization
var x, y int
go func() {
x = 1 // A1
fmt.Print("y:", y, " ") // A2
}()
go func() {
y = 1 // B1
fmt.Print("x:", x, " ") // B2
}()
Possible outputs:
y:0 x:1 x:1 y:1 x:0 y:0 // This is a weird one
x:0 y:1 y:1 x:1 y:0 x:0 // This is another weird one