Junior — Middle
Mikor kerülhetnek pontosan a goroutine-ok a helyi végrehajtási sorba?
sobes.tech MI
Válasz az MI-től
A goroutine-ok Go-ban a következő esetekben kerülhetnek helyi futási sorba (local run queue):
- Amikor egy goroutine-t
go-val hoznak létre, és a ütemező a sorba helyezi a végrehajtáshoz az aktuális szálon (P). - Blokkolás vagy várakozás után, amikor a goroutine készen áll a végrehajtásra, visszatér a helyi sorba.
- Terheléselosztás során az ütemező átmozgathat goroutine-okat a sorok között, de a helyi sor a fő hely, ahol a goroutine várakozik a futtatásra egy adott szálon (P).
Ezért a helyi sor egy olyan goroutine-okból álló sor, amelyek készen állnak a végrehajtásra, és várják a CPU-idő kiosztását egy adott szálon (P).