JET School

Semafor nədir?

Semafor – kompüter proqramlaşdırmasında birdən çox prosesin və ya axının (thread) eyni anda eyni resursa girişini idarə etmək üçün istifadə olunan xüsusi dəyişən və ya obyekt növüdür. Bu, əsasən parallel və ya çoxaxınlı proqramlaşdırma zamanı istifadə olunur və resurslar üzərində toqquşmaların qarşısını almağa kömək edir.

Bunu gündəlik həyatdan bir nümunə ilə izah edək: Təsəvvür edin ki, məktəbdə yalnız bir printer var və bu printeri eyni anda yalnız bir şagird istifadə edə bilər. Bu halda semafor printerin istifadə vəziyyətini izləyən və tənzimləyən "nəzarətçi" rolunu oynayır. Əgər printer boşdursa, semafor icazə verir, yox əgər doludursa – növbədə olanlar gözləyir.

Semafor növləri:

  1. İkili (Binary) Semafor – Yalnız iki vəziyyət ala bilər: 0 və 1. Bu, "kilid" kimi işləyir. Resurs istifadə olunursa (0), digər axınlar gözləyir; boşdursa (1), girişə icazə verilir.
  2. Sayğaclı (Counting) Semafor – Eyni anda neçə prosesin bir resursa daxil ola biləcəyini sayan semafordur. Məsələn, 3 printer varsa, semafor eyni vaxtda 3 prosesi içəri buraxa bilər.

Semaforun əhəmiyyəti nədədir?

Proqramda birdən çox axın eyni məlumat üzərində eyni anda işləyərsə, bu səhvlərə, nasazlıqlara və gözlənilməz nəticələrə səbəb ola bilər. Semafor bu vəziyyətləri nəzarətdə saxlamağa kömək edir və proqramların sabit və etibarlı şəkildə işləməsini təmin edir.

IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!