Senior
Kam smerujú gorutiny pri ich vytváraní – do lokálnej alebo globálnej fronty plánovača Go?
sobes.tech AI
Odpoveď od AI
Pri vytváraní gorutiny v Go sa tá dostane do miestneho frontu plánovača (local run queue), ktorý patrí k určitému M (stroju, systémovému vláknu).
Runtime Go používa model M:N, kde M sú systémové vlákna a G sú gorutiny. Každé M má svoju vlastnú miestnu frontu gorutiny na vykonanie. Ak sa miestna fronta preplní alebo je prázdna, plánovač môže gorutiny vyvažovať medzi miestnou a globálnou frontou.
Týmto spôsobom je nová gorutina najskôr umiestnená do miestnej fronty plánovača, čo umožňuje efektívne využitie cache procesora a znižuje náklady na prepínanie kontextu.