Sobes.tech
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ť.