Middle — Senior
Ролии усул Wg.Wait дар ҳамоҳангсозии сӯрохиҳо чист?
sobes.tech AI
Ҷавоб аз AI
Методи Wg.Wait() аз пакети sync дар забони Go барои ҳамоҳангсозии чандин goroutine истифода мешавад. Он иҷрои goroutine-ро, ки даъват мекунад, то вақте ки ҳисобкунаки WaitGroup ба сифр нарасад, мепиндонад, яъне то ҳама goroutine-ҳое, ки тавассути Add() илова шудаанд, 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() кафолат медиҳад, ки барнома то анҷоми ҳамаи вазифаҳои параллелӣ идома намедиҳад.