Sobes.tech
Junior — Middle

Go dilinde paralel hesaplamalar nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde paralel hesaplamalar, goroutine'ler (goroutines) ve kanallar (channels) kullanılarak gerçekleştirilir.

Goroutine'ler, go anahtar kelimesiyle başlatılan hafif iş parçacıklarıdır. Asenkron ve paralel olarak fonksiyonlar çalıştırmalarına olanak tanır.

İki fonksiyonun paralel başlatılmasına örnek:

func görev(id int) {
    fmt.Printf("Görev %d başladı\n", id)
    // çalışma simülasyonu
    time.Sleep(time.Second)
    fmt.Printf("Görev %d tamamlandı\n", id)
}

func main() {
    go görev(1)
    go görev(2)
    time.Sleep(2 * time.Second) // goroutine'lerin tamamlanması için
}

Kanallar, goroutine'ler arasında senkronizasyon ve veri iletimi için kullanılır, bu da kilit kullanmadan güvenli bilgi alışverişi sağlar.

Bu şekilde, Go paralel hesaplamaları düzenlemek için basit ve etkili araçlar sunar.