Junior — Middle
Proqram təminatı kontekstində 'Sheduler' termini ilə nə nəzərdə tutulur, izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Proqram təminatında, "Scheduler" (planlayıcı) termini adətən vəzifələrin və ya proseslərin ardıcıllığını və vaxtını idarə edən komponenti ifadə edir. Golang kontekstində bu, hansı zaman və hansı goroutine-in işə salınacağını qərar verən və yüngül axınlar (goroutine-lər) üçün paylayan sistem ola bilər.
Məsələn, Go-nun daxili planlayıcısı, əməliyyat sistemi ipliklərini əl ilə idarə etmədən, goroutine-lər arasında keçidi idarə edir və eyni zamanda icra olunmasını təmin edir.
Go-da sadə vəzifə planlayıcısına nümunə:
package main
import (
"fmt"
"time"
)
func task(name string) {
fmt.Println("Vəzifənin başlanğıcı", name)
time.Sleep(1 * time.Second)
fmt.Println("Vəzifənin sonu", name)
}
func main() {
go task("A")
go task("B")
time.Sleep(2 * time.Second) // Goroutine-lərin tamamlanmasını gözləyir
}
Burada, Go planlayıcısı, iki goroutine-in paralel icrasını idarə edir.