Sobes.tech
Junior — Middle

Wyjaśnij, czym jest gorutyna i jak jest używana w programowaniu

sobes.tech AI

Odpowiedź od AI

Gorutyna to lekka jednostka wykonawcza podobna do wątku w języku Go. Pozwala na uruchamianie funkcji równolegle, przy minimalnych kosztach w porównaniu do wątków systemowych.

Gorutyny są zarządzane przez środowisko uruchomieniowe Go, które efektywnie rozdziela ich wykonanie na wątki systemowe. Ułatwia to pisanie kodu współbieżnego i zwiększa wydajność.

Przykład użycia gorutyny:

package main

import (
    "fmt"
    "time"
)

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

func main() {
    go sayHello() // uruchom gorutynę
    time.Sleep(time.Second) // dajemy czas gorutynie na wykonanie
}

W tym przykładzie funkcja sayHello jest uruchamiana jako gorutyna za pomocą słowa kluczowego go. Funkcja główna czeka sekundę, aby gorutyna zdążyła wykonać wyjście.