Sobes.tech
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.