Junior — Middle
Sistemdə resursların qarşılıqlı bloklanması vəziyyətinə nümunə göstərə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Ölümlü kilit (deadlock) iki və ya daha çox prosesin (və ya ipin) bir-birini gözlədiyi, digərinin işləməsi üçün lazım olan resursları saxladığı vəziyyətdir.
Nümunə vəziyyət:
- A ipi resurs 1-i əldə edir və resurs 2-ni almağa çalışır.
- B ipi resurs 2-ni əldə edir və resurs 1-i almağa çalışır.
Hər iki ip digərinin resurslarının sərbəst buraxılmasını gözləyir və heç biri işləməyə davam edə bilmir.
iOS-də bu, məsələn, bir neçə kilid (locks) və ya növbələr istifadə edilərkən, resursların əldə olunma sırasının nəzarət edilmədiyi zaman baş verə bilər. Deadlock-ləri qarşısını almaq üçün, resursların əldə olunma sırasına riayət etmək və ya vaxt aşımı və digər sinxronizasiya mexanizmlərindən istifadə etmək vacibdir.