Sobes.tech
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 помаже безбедном раду са конкуренцијом и избегавању трка услова.