Sobes.tech
Junior — Middle

Mik az előnyei a goroutine-ok használatának a szálakhoz (threads) képest?

sobes.tech MI

Válasz az MI-től

A goroutine-ok Go-ban könnyű szálak, amelyeket a Go futásidejű környezet kezel, nem az operációs rendszer. Előnyeik a hagyományos szálakhoz képest:

  • Kevesebb memóriahasználat: A goroutine-ok néhány kilobájt memóriát foglalnak, míg a szálak — megabájtokat.
  • Gyors létrehozás és váltás: A goroutine-ok indítása és közötti váltás sokkal gyorsabb.
  • Egyszerű szinkronizáció: A Go csatornákat biztosít a biztonságos adatcseréhez a goroutine-ok között, ez megkönnyíti a párhuzamos programozást.
  • Skálázhatóság: Ezrek és akár milliók is indíthatók egyszerre.

Goroutine létrehozásának példája:

func sayHello() {
    fmt.Println("Helló a goroutine-ból")
}

func main() {
    go sayHello() // goroutine indítása
    time.Sleep(time.Second) // várunk, hogy a goroutine lefusson
}