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.