线程是否可能陷入死锁?
- 论坛
- 线程是否可能陷入死锁?
11 浏览
线程是否可能陷入死锁?
在Java中,一个线程在技术上是否可能死锁呢?
我曾在一次面试中被问到这个问题,我回答说这是不可能的,但面试官告诉我是可能的。不幸的是,我没有得到他实现这种死锁的方法。
这让我思考,我能想到的唯一可能发生死锁的情况是当你拥有一个RMI服务器进程,其中包含一个调用自身的方法。调用该方法的代码行被放置在一个同步的代码块中。
这种情况是否可能存在,或者面试官是错误的?
我所思考的源代码如下(其中testDeadlock正在一个RMI服务器进程中运行):
public boolean testDeadlock() throws RemoteException { synchronized (this) { //通过RMI循环调用testDeadlock } }