Junior — Middle
Wait Group nedir ve programlamada ne amaçla kullanılır, açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da Wait Group, sync paketinden bir yapıdır ve bir grup goroutine'nin tamamlanmasını beklemek için kullanılır. Ana goroutine'nin (veya başka birinin) tüm başlatılan goroutine'ler bitene kadar engellenmesini sağlar.
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, paralel görevleri senkronize etmek ve programın erken bitmesini önlemek için kullanışlıdır.