Проблема гонок в go

Ниже представлены примеры data race (a.go, a1.go) и race condition (b.go, b1.go) и их решение.