Найти тему
2015 подписчиков

sync.Mutex


Golang известен своим параллелизмом (горутинами). Существует не только параллелизм, но и настоящий параллелизм, который можно реализовать с помощью Golang.

Таким образом, в этом случае мы должны убедиться, что несколько горутин не должны пытаться изменить ресурс одновременно, что приводит к конфликту.

Чтобы убедиться, что к ресурсу одновременно обращается только одна горутина, мы можем использовать нечто, называемое sync.Mutex.

Эта концепция называется взаимным исключением, а структура данных, обеспечивающая его, общепринятым названием — mutex.

Вариант использования без мьютекса

Давайте рассмотрим простой пример использования Mutex в горутинах.

Скажем, например, если нам нужно увеличить значение одной переменной одной горутиной и уменьшить значение той же переменной другой горутиной.

Этот пример предназначен только для понимания концепции.


@Golang_google
sync.Mutex Golang известен своим параллелизмом (горутинами). Существует не только параллелизм, но и настоящий параллелизм, который можно реализовать с помощью Golang.
Около минуты