Junior — Middle
Je možné řídit rozdělení jader procesoru pro spuštění gorutin?
sobes.tech AI
Odpověď od AI
V jazyce Go můžete kontrolovat počet systémových vláken, která jsou používána k vykonávání gorutin, pomocí funkce runtime.GOMAXPROCS(n). Tato funkce nastavuje maximální počet vláken, která mohou současně vykonávat kód v jazyce Go.
Přímé přiřazení konkrétních gorutin k určitým jádrům procesoru však není možné — o to se stará plánovač Go a operační systém.
Příklad nastavení počtu vláken:
package main
import (
"fmt"
"runtime"
)
func main() {
// Nastavit využití 4 jader
runtime.GOMAXPROCS(4)
fmt.Println("Maximální počet vláken:", runtime.GOMAXPROCS(0))
}
Tímto způsobem můžete omezit nebo zvýšit paralelismus, ale přesné rozdělení na jádra řídit nelze.