Deadlock, iki veya daha fazla iş parçacığının (thread) birbirlerinin kilitlediği kaynakları beklerken sonsuza kadar beklemede kalması durumudur. Özellikleri: - Kilitlenmiş Kaynaklar: Her iş parçacığı, diğerinin serbest bırakmasını beklediği bir veya daha fazla kaynağa sahiptir. - Dairesel Bekleme: İş parçacıkları arasında dairesel bir bekleme ilişkisi oluşur. - Sınırsız Bekleme: Hiçbir iş parçacığı ilerleyemez; sistem tıkanır. Nedenleri: - Yanlış kilit sıralaması. - Nesne üzerinde çoklu kilitlemeler. - Sonsuz bekleme. - Gereksiz senkronizasyon. Çözüm yöntemleri: - Kilit sıralamasını standartlaştırmak. - Zaman aşımı (timeout) kullanımı. - Gereksiz senkronizasyonu azaltmak. - Concurrency API'lerini kullanmak.