Junior — Middle
Koje zadatke rešava paket sync u jeziku programiranja Go?
sobes.tech АИ
Одговор од АИ
Пакет sync у језику Go пружа примитиве за синхронизацију за управљање конкурентним приступом ресурсима и координацију горутинa.
Главни задаци које решава пакет sync:
- Mutex (
Mutex) — за заштиту критичних секција и спречавање истовременог приступа заједничким подацима. - RWMutex — mutex са раздвајањем за читање и запис, који омогућава више горутинa да читају податке истовремено, али блокира запис.
- WaitGroup — за чекање да група горутинa заврши.
- Once — за извршавање иницијализације само једном.
Пример коришћења Mutex:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock()
defer mu.Unlock()
counter++
}
Овако, пакет sync помаже безбедном раду са конкуренцијом и избегавању трка услова.