Junior — Middle
Jak inicjuje się i wykonuje nową gorutynę w programie?
sobes.tech AI
Odpowiedź od AI
W języku Go nowa gorutyna jest tworzona za pomocą słowa kluczowego go, po którym następuje wywołanie funkcji lub metody. Tworzy to lekki wątek wykonawczy, który działa równolegle z głównym programem.
Inicjalizacja i uruchomienie gorutyny wygląda następująco:
- Wywołuje się
goprzed funkcją:go myFunction(). - Planista Go tworzy nową gorutynę i umieszcza ją w kolejce do wykonania.
- Gorutyna zaczyna działać asynchronicznie, niezależnie od głównego programu.
Przykład:
func sayHello() {
fmt.Println("Cześć z gorutyny")
}
func main() {
go sayHello() // uruchamiamy gorutynę
fmt.Println("Cześć z main")
time.Sleep(time.Second) // dajemy czas gorutynie na wykonanie
}
Ważne jest, aby pamiętać, że gorutyny są bardzo lekkie w porównaniu do wątków systemowych, a ich planowanie i przełączanie jest zarządzane przez środowisko uruchomieniowe Go, co pozwala na efektywne wykorzystanie zasobów.