Технически возможно, чтобы поток в Java самоблокировался?
Меня спросили об этом на собеседовании некоторое время назад, и он ответил, что это невозможно, но интервьюер сказал мне, что это так.К сожалению, я не смог получить его метод о том, как добиться этого тупика.
Это заставило меня задуматься, и единственная ситуация, о которой я могу подумать, это то, где вы можете сделать это, когда у вас есть сервер RMI.Процесс, который содержит метод, который вызывает себя.Строка кода, вызывающая метод, помещается в синхронизированный блок.
Возможно ли это или же интервьюер неверен?
Исходный код, о котором я думал, был по этим направлениям (гдеtestDeadlock выполняется в процессе сервера RMI)
public boolean testDeadlock () throws RemoteException {
synchronized (this) {
//Call testDeadlock via RMI loopback
}
}