Golang поддерживает механизм мьютексов.
Для чего мьютексы используются на практике
Обычно мьютекс - это возможность гарантировать, что только одна горутина будет иметь доступ к какому-то ресурсу (на чтение/запись или на то и на то), что, как и в других языках, помогает уйти от состояния гонки между горутинами.