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.