Junior — Middle
Jak je v aplikaci implementována a řízena práce více gorutin?
sobes.tech AI
Odpověď od AI
V jazyce Go jsou gorutiny lehké vlákna spravovaná běhovým prostředím Go, nikoliv operačním systémem. Když aplikace vytvoří mnoho gorutin, plánovač Go jejich spuštění rozděluje na omezený počet systémových vláken (M) pomocí modelu M:N (M systémových vláken na N gorutin).
Plánovač Go distribuuje gorutiny mezi vlákna, přepíná kontext velmi rychle a efektivně. To umožňuje spouštět tisíce a dokonce miliony gorutin s nízkými náklady na paměť a čas.
Příklad vytvoření gorutiny:
func sayHello() {
fmt.Println("Ahoj z gorutiny")
}
func main() {
go sayHello() // spuštění gorutiny
time.Sleep(time.Second) // dáváme čas gorutině na provedení
}