Sobes.tech
Junior

Kto zarządza goroutines w języku Go?

sobes.tech AI

Odpowiedź od AI

Gorutiny w języku Go są zarządzane przez wbudowany planista (scheduler) środowiska uruchomieniowego Go. Ten planista odpowiada za rozdzielanie gorutyn na wątki systemowe (OS threads) i zapewnia wykonywanie równoczesne.

Główne punkty:

  • Planista Go działa na poziomie użytkownika, nie jądra systemu operacyjnego.
  • Efektywnie przełącza się między gorutynami, umożliwiając uruchomienie tysięcy lekkich zadań.
  • Programista po prostu uruchamia gorutynę za pomocą go i nie zarządza bezpośrednio wątkami.

Przykład uruchomienia gorutyny:

func sayHello() {
    fmt.Println("Witaj z gorutyny")
}

func main() {
    go sayHello() // planista uruchomi tę gorutynę
    time.Sleep(time.Second) // aby dać czas gorutynie na wykonanie
}