Sobes.tech
Junior — Middle

Musí být všechny gorutiny spuštěny současně a paralelně ve výchozím nastavení?

sobes.tech AI

Odpověď od AI

Ne, všechny gorutiny nemusí být spuštěny současně a paralelně ve výchozím nastavení. Gorutiny jsou lehké vlákna, která plánuje plánovač Go.

Když spustíte několik gorutin, mohou být vykonávány sekvenčně nebo paralelně, v závislosti na dostupném počtu systémových vláken (GOMAXPROCS) a aktuální zátěži.

Ve výchozím nastavení, pokud je GOMAXPROCS rovno 1, budou gorutiny vykonávány konkurenčně, ale nikoli paralelně — to znamená, že přepínání mezi nimi probíhá na úrovni plánovače, ale pouze jedna je vykonávána najednou.

Pro dosažení skutečného paralelismu je třeba zvýšit GOMAXPROCS (obvykle na počet jader procesoru). Pak může být několik gorutin vykonáváno současně na různých jádrech.