Sobes.tech
Middle

Hogyan lehet kezelni a goroutine-ok futtatásához használt szálak számát?

sobes.tech MI

Válasz az MI-től

Go nyelvben a goroutine-ok végrehajtásához használt operációs rendszer szálak számát a runtime.GOMAXPROCS(n) függvény szabályozza. Ez a függvény határozza meg a maximális operációs rendszer szálak számát, amelyek egyidejűleg futtathatják a Go felhasználói kódját.

Alapértelmezés szerint a GOMAXPROCS megegyezik a gépen lévő logikai processzorok számával. Ennek az értéknek a módosításával a program párhuzamosságát lehet irányítani.

Példa:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Println("Alapértelmezett GOMAXPROCS:", runtime.GOMAXPROCS(0)) // Aktuális érték lekérdezése
    runtime.GOMAXPROCS(2) // Maximum beállítása 2 szálra
    fmt.Println("Frissített GOMAXPROCS:", runtime.GOMAXPROCS(0))
}

Fontos megérteni, hogy a GOMAXPROCS befolyásolja a goroutine-ok párhuzamos végrehajtását, de nem korlátozza azok számát — lehetnek ezrek, amelyek a rendelkezésre álló szálakra vannak ütemezve.