Ответ
DeadLock — это ситуация, когда два или более потока блокируют друг друга, ожидая освобождения ресурсов, занятых другим потоком. Это приводит к бесконечному ожиданию и зависанию приложения.
Пример:
val lock1 = Object()
val lock2 = Object()
Thread {
synchronized(lock1) {
Thread.sleep(100)
synchronized(lock2) { /* DeadLock */ }
}
}.start()
Thread {
synchronized(lock2) {
Thread.sleep(100)
synchronized(lock1) { /* DeadLock */ }
}
}.start()
Здесь потоки взаимно блокируют друг друга, так как каждый держит один ресурс и ждёт освобождения другого.
Как избежать:
- Упорядочивать блокировки (например, всегда сначала
lock1, потомlock2). - Использовать
tryLockс таймаутом. - Минимизировать области синхронизации.
Видео-ответы
▶
Реальное Техническое Собеседование с ВК на Senior Php Разработчика
▶
СОБЕСЕДОВАНИЕ В АУТСОРС НА SENIOR РАЗРАБОТЧИКА - 330К
▶
Реальное собеседование Senior iOS разработчика. Виталий Кузьменко / Мобильный разработчик
▶
Middle Java разработчик удивил на собеседовании знаниями уровня Senior!
▶
Тестовое интервью в МТС на Middle Java
▶
Тестовое интервью в Oracle на middle Java
▶
Разбираем многопоточку на middle java в формате открытого собеседования
▶
Открытое собеседование на Golang разработчика
▶
Публичное собеседование: middle iOS-разработчик [Хекслет + Podlodka iOS Crew]
▶
Техническое собеседование Java Developer | ТОП вопросов за 90 минут | от ООП до микросервисов
▶
Собеседование на Java-разработчика, вопросы для подготовки: finalize method, ArrayList, REST и SOAP
▶
Собеседование на .NET разработчика (backend)
▶
Собеседование на .NET разработчика (backend)
▶
Открытое интервью на Go разработчика | Эйч Навыки
▶
Моковое собеседование на Junior iOS-разработчика| Екатерина Батеева, Одноклассники
▶
Mock-собеседование старшего Go разработчика из Тинькофф | Самое полное интервью
▶
Mock-собеседование на позицию Java Junior | Джун справится?
▶
Mock-собеседование на позицию Java Developer | Идеальный кандидат
▶
Live-собеседование на Java-разработчика. Нанимающий менеджер - Вадим Бескровнов
▶
Собеседование Java Junior | Jetbulb
▶
Групповое собеседование на Junior и Middle Java разработчика
▶
Mock - собеседование программиста: секция С++
▶
Техническое интервью Java Developer - Алексей Гумен