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