Sobes.tech
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() дастур барча параллел вазифалар якунлангунча давом этишини кафолатлайди.