/*** 线程死锁问题*/public class DeadLock {public static void main(String[] args) {//创建两个锁对象Object lock1 = new Object();Object lock2 = new Object();//创建子线程/*线程1:①先获得锁1 ②休眠1s,让线程2获得锁2 ③线程1尝试获取锁2 线程2同理*/Thread thread1 = new Thread(new ...
可以看出,线程1尝试获取了锁2,线程2尝试获取了锁1,但是二者并没有获取到对方的锁;这就发生了所谓的“死锁”! 如何排查死锁 想要排查死锁具体细节,可以通过三个工具(位于jdk安装路径bin目录)去排查,现在就给大家介绍一下: 1.jconsole 可以看出,线程1和线程2发生了死锁,死锁发生的位置一目了然 2.jvisualvm 可以...