Kilitlenme belirli bir şey anlamına gelir: şu anda birbirini bekleyen engellenen iki (veya daha fazla) işlem vardır .
Bir In güvensiz duruma orada da bir durumda olabilir belki ileride bir kilitlenme bazen olabilir, ama süreçlerin bir veya her iki fiilen bekleyen başlamamış çünkü henüz olmadı.
Aşağıdaki örneği düşünün:
Process A Process B
lock X lock Y # state is "unsafe"
unlock Y
lock Y # state is back to "safe" (no deadlock this time. We got lucky.)
Verdiğiniz bağlantının 7.5.1 Bölümünde daha ilginç bir örnek var :
12 teyp sürücüsüne sahip bir sistem düşünün:
Process Max Need Current
P0: 10 5
P2: 9 3
Bu güvensiz bir durum. Ama biz bir kilitlenme içinde değiliz. P0 eğer, örneğin, bu nedenle, sadece 4 serbest sürücüler var does isteği ek 5 ve P2 yapar isteği ek 1, biz kilitlenmeye, ancak henüz olmadı. Ve P0 olabilir değil artık sürücüler talep, ancak bunun yerine bu zaten sürücüleri boş olabilir. Programın Max need
tüm olası yürütmeleri bitti ve bu, P0'daki 10 sürücünün tümüne ihtiyaç duyduğumuz yürütmelerden biri olmayabilir.