Junior — Middle
Je možné riadiť rozdelenie jadier procesora pre vykonávanie gorutín?
sobes.tech AI
Odpoveď od AI
V jazyku Go môžete kontrolovať počet systémových vlákien, ktoré sa používajú na vykonávanie gorutín, pomocou funkcie runtime.GOMAXPROCS(n). Táto funkcia nastavuje maximálny počet vlákien, ktoré môžu súčasne vykonávať kód v jazyku Go.
Priame viazanie konkrétnych gorutín na určité jadrá procesora však nie je možné — o to sa stará plánovač Go a operačný systém.
Príklad nastavenia počtu vlákien:
package main
import (
"fmt"
"runtime"
)
func main() {
// Nastaviť využitie 4 jadier
runtime.GOMAXPROCS(4)
fmt.Println("Maximálny počet vlákien:", runtime.GOMAXPROCS(0))
}
Týmto spôsobom môžete obmedziť alebo zvýšiť paralelizmus, ale presné rozdelenie na jadrá nie je možné kontrolovať.