Middle — Senior
Wg.Wait ыкмасы жиптердин синхрондоштуусунда кандай роль ойнойт?
sobes.tech AI
AIден жооп
Go тилиндеги sync пакетинен Wg.Wait() методу бир неча goroutine'ларни синхронлаштириш учун ишлатилади. У чақирувчи goroutine'нинг ишга туширилишини, WaitGroup санагичи нолга етмейинча, тўхтатади, яъни Add() орқали қўшилган барча goroutine'лар Done() деб чақирганча.
Масалан:
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// биринчи goroutine иши
}()
go func() {
defer wg.Done()
// иккинчи goroutine иши
}()
wg.Wait() // Икки goroutine якунланишини кутамиз
Шу тарзда, Wg.Wait() дастур барча параллел вазифалар якунлангунча давом этишини кафолатлайди.