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