Sobes.tech
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.