Est-il techniquement possible pour un thread en Java à l'impasse?
On m'a demandé lors d'une interview d'un moment de retour et a répondu qu'il n'était pas possible, mais l'enquêteur m'a dit qu'il est. Malheureusement je n'ai pas pu obtenir de sa méthode sur la façon de réaliser cette impasse.
Cela m'a fait réfléchir et la seule situation que je peux penser est l'endroit où vous pouvez avoir de ce lieu est l'endroit où vous avez un RMI processus serveur qui contient une méthode qui s'appelle elle-même. La ligne de code qui appelle la méthode est placé dans un bloc synchronisé.
Si, c'est possible ou a été l'interviewer incorrect?
Le code source je pensais à l'est le long de ces lignes (où testDeadlock est en cours d'exécution dans un RMI processus de serveur)
public boolean testDeadlock () throws RemoteException {
synchronized (this) {
//Call testDeadlock via RMI loopback
}
}