Sobes.tech
Junior — Middle

Aké sú výhody používania gorutín v porovnaní so systémovými vláknami na zvýšenie výkonu aplikácií?

sobes.tech AI

Odpoveď od AI

Gorutiny v Go majú niekoľko výhod oproti systémovým vláknam:

  • Ľahkosť: gorutiny zaberajú oveľa menej pamäte (zvyčajne niekoľko kilobajtov), zatiaľ čo systémové vlákna vyžadujú oveľa viac zdrojov.
  • Škálovateľnosť: je možné spustiť tisíce alebo dokonca milióny gorutín súčasne, čo je s vláknami ťažké.
  • Rýchla zmena kontextu: plánovač Go efektívne spravuje gorutiny a prepína medzi nimi rýchlejšie ako operačný systém medzi vláknami.
  • Jednoduchosť synchronizácie: vstavané kanály a ďalšie primitívy uľahčujú výmenu dát medzi gorutinami.

Príklad vytvorenia gorutiny:

package main
import (
    "fmt"
    "time"
)

func sayHello() {
    fmt.Println("Ahoj z gorutiny")
}

func main() {
    go sayHello() // spustenie gorutiny
    time.Sleep(time.Second) // počkáme, až sa gorutina dokončí
}