Senior
Kam směřují gorutiny při jejich vytváření – do místní nebo globální fronty plánovače Go?
sobes.tech AI
Odpověď od AI
Při vytváření gorutiny v Go se ta dostane do místního frontu plánovače (local run queue), který patří k určitému M (stroji, systémovému vláknu).
Runtime Go používá model M:N, kde M jsou systémová vlákna a G jsou gorutiny. Každé M má svůj vlastní místní front gorutin pro vykonávání. Pokud se místní fronta přetíží nebo je prázdná, může plánovač gorutiny vyvažovat mezi místní a globální frontou.
Tímto způsobem je nová gorutina nejprve umístěna do místní fronty plánovače, což umožňuje efektivní využití cache procesoru a snižuje náklady na přepínání kontextu.