Sobes.tech
Junior — Middle

Kaynaklar arasında bir kilitlenme (deadlock) oluşursa, yürütme akışında ne olur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da bir deadlock (ölüm kilidi) oluşursa, bu kilitte yer alan threadler, birbirlerinin kaynaklarını serbest bırakmasını sonsuza dek bekler ve devam edemezler. Bu, bu threadlerin 'kilitlenmesine' ve sona ermelerine engel olur, bu da tüm programın veya onun fonksiyonlarının bir kısmının donmasına neden olabilir.

Deadlock, iki veya daha fazla thread'in kaynakları farklı sıralarda alması ve her birinin diğer thread tarafından tutulan kaynağın serbest bırakılmasını beklemesi durumunda oluşur.

Örnek: A thread'i kaynak 1'i aldı ve kaynak 2'yi bekliyor, B thread'i ise kaynak 2'yi aldı ve kaynak 1'i bekliyor — ikisi de sonsuza dek kilitlidir.