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ć
}