Middle
Deadlock nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Güclü bloklama (deadlock) — çox ipli tətbiqdə, iki və ya daha çox ipin bir-birini müvəqqəti olaraq blokladığı vəziyyətdir, digər ipin tutduğu resursların sərbəst buraxılmasını gözləyərkən. Nəticədə, heç bir ip işləməyə davam edə bilməz.
Klassik deadlock nümunəsi:
- A ipi resurs 1-i əldə edir və resurs 2-ni gözləyir.
- B ipi resurs 2-ni əldə edir və resurs 1-i gözləyir.
Hər iki ip müvəqqəti olaraq bloklanır.
Deadlockların qarşısını almaq üçün aşağıdakı metodlar tətbiq edilir:
- Resursların əldə olunmasında sərt ardıcıllıq.
- Bloklamaları gözləyərkən zaman aşımı.
- Bloklamayan algoritmlərin istifadəsi.
Java nümunəsi:
synchronized(resource1) {
synchronized(resource2) {
// resurslarla işləmək
}
}
Əgər başqa bir ip resursları tərs ardıcıllıqla əldə etməyə çalışırsa, deadlock baş verə bilər.