Sobes.tech
Junior — Middle

Go dilinde goroutine'ler nasıl uygulanır ve yönetilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da goroutine'ler, işletim sistemi tarafından değil, Go çalışma zamanı tarafından yönetilen hafif yürütme akışlarıdır. Kaynakları minimumda tutarak eşzamanlı kod yazmayı sağlarlar.

Goroutine'lerin uygulanması ve yönetimiyle ilgili temel noktalar:

  • Oluşturma: Bir goroutine, fonksiyon çağrısından önce go anahtar kelimesi kullanılarak başlatılır.
  • Planlayıcı: Go'nun kendi planlayıcısı, goroutine'leri sistem thread'leri arasında dağıtır (M:N planlama).
  • Yığın: Her goroutine'un dinamik bir yığını vardır, ihtiyaç duyulduğunda büyüyebilir veya küçülebilir, birkaç kilobayt ile başlar.
  • İletişim: Goroutine'ler arasında senkronizasyon ve veri alışverişi için kanallar kullanılır.

Goroutine oluşturma örneği:

func sayHello() {
    fmt.Println("Goroutine'den merhaba")
}

func main() {
    go sayHello() // goroutine başlatır
    time.Sleep(time.Second) // goroutine'in tamamlanması için bekler
}

Bu şekilde, goroutine'ler minimum maliyetle paralel kod yürütmenin etkili bir yoludur.