Middle — Senior
Wg.Wait metodunun iş parçacıklarının senkronizasyonundaki rolü nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde sync paketinden Wg.Wait() metodu, birden fazla goroutine'yi senkronize etmek için kullanılır. Bu metod, çağıran goroutine'nin yürütülmesini, WaitGroup sayacı sıfıra ulaşana kadar engeller, yani Add() ile eklenen tüm goroutine'ler Done() çağrısını yapana kadar.
Örnek:
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// ilk goroutine'nin işi
}()
go func() {
defer wg.Done()
// ikinci goroutine'nin işi
}()
wg.Wait() // Her iki goroutine'nin tamamlanmasını bekler
Bu şekilde, Wg.Wait() programın, tüm paralel görevler tamamlanana kadar devam etmesini garanti eder.