Middle+
Go'daki WaitGroup hakkında bana bilgi ver.
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, sync.WaitGroup, bir grup goroutine'nin tamamlanmasını beklemek için kullanılır. Paralel görevleri senkronize etmenin uygun bir yoludur.
Ana yöntemler:
Add(int)— beklenen goroutine sayısını artırır.Done()— sayacı azaltır, goroutine tamamlandığında çağrılır.Wait()— sayaç sıfır olana kadar yürütmeyi engeller.
Kullanım örneği:
var wg sync.WaitGroup
wg.Add(2) // 2 goroutine bekleniyor
go func() {
defer wg.Done()
// ilk goroutine'nin işi
}()
go func() {
defer wg.Done()
// ikinci goroutine'nin işi
}()
wg.Wait() // her ikisinin de tamamlanmasını bekler
Bu şekilde, WaitGroup, paralel işlemlerin tamamlanmasını kontrol etmeye yardımcı olur.