Sobes.tech
Назад к задачам
Junior — Senior
32

Непременно вызывающий deadlock

Компании, где спрашивали:

МТСМТС
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо реализовать класс, в котором гарантированно возникает взаимная блокировка потоков. Для демонстрации следует задействовать два потока и два синхронизируемых объекта. Каждый поток должен захватывать мониторы в разном порядке, что приводит к безвыходной ситуации deadlock.

public class Deadlock {
    private final Object monitorA = new Object();
    private final Object monitorB = new Object();

    public void run1() {
        // ...
    }

    public void run2() {
        // ...
    }

    public static void main(String[] args) {
        // ...
    }
}