Sobes.tech
Junior — Middle

Çox ipli tətbiqdə bloklanmış proseslərin nə demək olduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Çox iş parçacığı tətbiqində bloklanmış proseslər (qarşılıqlı bloklama və ya deadlock) iki və ya daha çox prosesin (iş parçalarının) resursların azad olunmasını gözlədiyi və heç birinin işi davam etdirə bilmədiyi vəziyyətdir.

Məsələn, A prosesi 1 resursunu əldə edib və 2 resursunu gözləyir, B prosesi isə 2 resursunu əldə edib və 1 resursunu gözləyir. Hər iki proses əbədi olaraq bloklanıb.

Deadlock-u qarşısını almaq üçün aşağıdakı üsullar istifadə olunur:

  • Resursların müəyyən bir ardıcıllıqla alınması qaydaları.
  • Gözləmə vaxtlarının məhdudlaşdırılması.
  • Qarşılıqlı bloklamaları aşkar etmək və həll etmək üçün alqoritmlərdən istifadə.

iOS-da bu, çox iş parçacığı ilə işləyərkən, məsələn, GCD və ya NSLock ilə, tətbiqin donməsinin qarşısını almaq üçün vacibdir.