快速排查定位线上死锁

产生死锁的4个条件:
  1. 互斥条件:同一个资源同时只能被一个线程所拥有。
  2. 请求与保持条件:一个线程在请求第二把锁发生阻塞,并且持有第一把锁保持不释放。
  3. 不剥夺条件:外间不能干扰。
  4. 循环等待。
定位死锁
jps -l

13072
13344 org.jetbrains.idea.maven.server.RemoteMavenServer
53344 com.cn.lock.Lock
54776 org.jetbrains.jps.cmdline.Launcher
55644 sun.tools.jps.Jps
执行jstack 53344

图1 显示了 两个线程都是waiting的状态,表示发生了死锁,而且下面还指出了死锁的具体的类。


图1

你可能感兴趣的:(快速排查定位线上死锁)