Sobes.tech
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.