Junior — Middle
Kā piespiest Go plānotāju veikt konteksta pārslēgšanu uz citu gorutinu?
sobes.tech AI
Atbilde no AI
Go valodā, lai piespiestu konteksta maiņu starp gorutīnām, tiek izmantota funkcija runtime.Gosched(). Tā informē plānotāju, ka pašreizējā gorutina ir gatava nodot procesoru citām gorutīnām, ļaujot tām tikt izpildītām.
Piemērs lietošanai:
package main
import (
"fmt"
"runtime"
)
func main() {
go func() {
for i := 0; i < 5; i++ {
fmt.Println("Gorutina 1 -", i)
runtime.Gosched() // nodod plānotājam
}
}()
for i := 0; i < 5; i++ {
fmt.Println("Galvenā gorutina -", i)
runtime.Gosched() // nodod plānotājam
}
}
Tādējādi, runtime.Gosched() ļauj skaidri dot iespēju citām gorutīnām tikt izpildītām, neblokējot pašreizējo.