Junior — Middle
Můžete vysvětlit, co se rozumí pod pojmem 'Sheduler' v kontextu softwaru?
sobes.tech AI
Odpověď od AI
V softwaru je pojem "Scheduler" (plánovač) obvykle komponent, který je zodpovědný za řízení pořadí a času provádění úkolů nebo procesů. V kontextu Golang může jít o systém, který rozděluje gorutiny (lehká vlákna) k provedení, rozhodujíc, kdy a kterou gorutinu spustit.
Například vestavěný plánovač Go řídí přepínání mezi gorutinami, zajišťujíc konkurenční provádění bez nutnosti ruční správy systémových vláken.
Příklad jednoduchého plánovače úkolů v Go:
package main
import (
"fmt"
"time"
)
func task(name string) {
fmt.Println("Začátek úkolu", name)
time.Sleep(1 * time.Second)
fmt.Println("Konec úkolu", name)
}
func main() {
go task("A")
go task("B")
time.Sleep(2 * time.Second) // Čeká na dokončení gorutin
}
Zde spravuje plánovač Go provádění dvou gorutin současně.