Middle+
Pověz mi o struktuře plánovače Go (model GMP).
sobes.tech AI
Odpověď od AI
Plánovač Go je založen na modelu GMP, kde:
- G (goroutine) — lehký vlákno provádění.
- M (stroj) — vlákno operačního systému.
- P (procesor) — logický procesor, který spojuje G a M.
Každé M může současně vykonávat pouze jedno G, ale k vykonání G je potřeba P. Počet P je omezen parametrem GOMAXPROCS, který určuje maximální počet gorutin, které mohou být současně spuštěny na úrovni OS.
Plánovač rozděluje gorutiny mezi dostupné P a M a podle potřeby je přepíná. Pokud se gorutina zablokuje (například při vstupu/výstupu), M je uvolněno a může převzít jinou G, aby nezůstala nečinná.
Toto umožňuje efektivně využívat systémové zdroje, zajišťuje vysokou konkurenceschopnost a škálovatelnost aplikací v Go.