Sobes.tech
Junior — Middle

Jakie są zalety korzystania z gorutyn w porównaniu z wątkami?

sobes.tech AI

Odpowiedź od AI

Gorutyny w Go to lekkie wątki zarządzane przez środowisko uruchomieniowe Go, a nie przez system operacyjny. Ich zalety w porównaniu z klasycznymi wątkami:

  • Mniejsze zużycie pamięci: Gorutyny zajmują kilka kilobajtów pamięci, podczas gdy wątki — megabajty.
  • Szybkie tworzenie i przełączanie: Uruchomienie i przełączanie między gorutynami jest znacznie szybsze.
  • Prostota synchronizacji: Go zapewnia kanały do bezpiecznej wymiany danych między gorutynami, co upraszcza programowanie współbieżne.
  • Skalowalność: Można uruchamiać tysiące, a nawet miliony gorutyn jednocześnie.

Przykład tworzenia gorutyny:

func sayHello() {
    fmt.Println("Cześć z gorutyny")
}

func main() {
    go sayHello() // uruchamiamy gorutynę
    time.Sleep(time.Second) // czekamy, aby gorutyna zdążyła się wykonać
}