Alb*_*ore 2 java multithreading synchronization deadlock
我是否正确地说在以下情况下应该发生死锁:
对象P调用对象的同步方法甲,
调用对象的同步方法乙,
调用对象的同步方法甲.
对不起,如果它看起来很愚蠢,很可能就是这样.但这就是我要问的原因.谢谢!
通过您提供的信息 - 不,不会发生死锁:
首先,你没有提到多个线程.单个线程不会导致死锁.但是我们假设您有多个线程.
因此,如果来自不同线程的任何其他对象以相反的顺序调用其中一些方法,则可能发生死锁.
情况说明如下:Thread-1获取进入所需的锁定methodA,然后尝试进入methodB.如果在同一时刻另一个线程 - Thread-2调用methodB并获取它的锁,然后尝试进入methodA,但Thread-1已经有锁,所以Thread-2等待.但是,因为有锁Thread-1而无法进入.他们永远等待(死锁).methodBThread-2
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |