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