Middle+
Дар бораи WaitGroup дар Go гап зан.
sobes.tech AI
Ҷавоб аз AI
Дар Go, sync.WaitGroup барои интизор шудан ба анҷоми гурӯҳи goroutines истифода мешавад. Ин роҳи қулайи ҳамоҳангсозии вазифаҳои параллелӣ мебошад.
Методҳои асосӣ:
Add(int)— шумораи goroutines интизоршударо меафзояд.Done()— шумораро кам мекунад, вақте ки goroutine анҷом меёбад.Wait()— иҷроиро бозмедорад, то ки шумора ба сифр расад.
Масалан истифода:
var wg sync.WaitGroup
wg.Add(2) // интизорем 2 goroutine
go func() {
defer wg.Done()
// кори goroutine аввал
}()
go func() {
defer wg.Done()
// кори goroutine дуввум
}()
wg.Wait() // интизорем, ки ҳарду анҷом ёбанд
Ин тариқ, WaitGroup кӯмак мекунад, ки анҷоми амалиётҳои параллелиро назорат кунад.