Возможно ли для нити сам Deadlock?

Технически возможно, чтобы поток в Java самоблокировался?

Некоторое время назад меня спросили об этом на собеседовании и ответили, что это невозможно, но интервьюер сказал мне, что это так. К сожалению, я не смог получить его метод о том, как достичь этого тупика.

Это заставило меня задуматься, и единственная ситуация, о которой я могу подумать, это то, где вы можете сделать это, когда у вас есть процесс RMI-сервера, который содержит метод, который вызывает сам себя. Строка кода, которая вызывает метод, помещается в синхронизированный блок.

Это вообще возможно, или интервьюер был не прав?

Исходный код, о котором я думал, был примерно таким (где testDeadlock запущен в процессе RMI-сервера)

public boolean testDeadlock () throws RemoteException {
    synchronized (this) {
        //Call testDeadlock via RMI loopback            
    }
}

Ответы на вопрос(20)

Ваш ответ на вопрос