Sobes.tech
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 кӯмак мекунад, ки анҷоми амалиётҳои параллелиро назорат кунад.