Sobes.tech
Junior — Middle

Proqramlaşdırma və ya əməliyyat sistemləri kontekstində dispatching nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dağıtma, əməliyyat sistemində və ya proqram təminatında müəyyən bir vəzifə, axın və ya prosesin seçilməsi və idarə olunması prosesidir.

Əməliyyat sistemləri kontekstində, dağıtma prosessor vaxtını bir neçə vəzifə arasında bölüşdürmək və çoxlu tapşırıq işləməsini təmin etmək üçün məsuliyyət daşıyır. Scheduler (planlayıcı) hansı proses və ya axının həmin anda icra olunacağını, prioritetlərə, vəziyyətə və digər meyarlara əsaslanaraq qərar verir.

Proqramlaşdırmada, "dağıtma" termini çox vaxt polimorfizm daxilində çağırış metodunun seçilməsi ilə əlaqələndirilir:

  • Statik dağıtma — metod seçimi tərtib zamanı baş verir (məsələn, funksiyaların yüklənməsi).
  • Dinamik dağıtma — metod seçimi icra zamanı, adətən virtual funksiyalar və ya interfeyslər vasitəsilə həyata keçirilir.

Swift-də dinamik dağıtma nümunəsi:

class Animal {
    func sound() {
        print("Bəzi səs")
    }
}

class Dog: Animal {
    override func sound() {
        print("Havlama")
    }
}

let animal: Animal = Dog()
animal.sound() // "Havlama" çap edir — metod çağırışı icra zamanı müəyyən edilir

Bu şəkildə, dağıtma çevikliyi təmin edir və vəzifələrin və ya metod çağırışlarının səmərəli idarə olunmasını təmin edir.