Junior — Middle
Resursların rəqabətini idarə etmək üçün layihələrinizdə semafor mexanizmini istifadə etdinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, semafor mexanizmi çox ipli tətbiqlərdə məhdud resurslara girişin idarə olunması üçün tez-tez istifadə olunur. Məsələn, iOS-də DispatchSemaphore istifadə edilərək eyni zamanda icra olunan tapşırıqların sayını məhdudlaşdırmaq mümkündür.
DispatchSemaphore istifadə nümunəsi:
let semaphore = DispatchSemaphore(value: 2) // eyni zamanda 2 tapşırığa icazə verir
DispatchQueue.global().async {
semaphore.wait() // sayğacı azaldır, 0 olarsa gözləyir
// kritik bölmə
print("Tapşırıq başladı")
sleep(2) // işin simulyasiyası
print("Tapşırıq tamamlandı")
semaphore.signal() // sayğacı artırır
}
Bu yanaşma yarış şərtlərindən qaçmağa və məhdud resurslarla işləyərkən rəqabəti idarə etməyə kömək edir, məsələn, verilənlər bazasına giriş və ya şəbəkə sorğuları zamanı.