- ~ jps
- 93893 Launcher
- 94055 Jps
- 93894 DeadLock
- 34413
- ~ jstack -l 93894
- 2018-06-28 14:48:26
- Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode):
- "Attach Listener" #13 daemon prio=9 os_prio=31 tid=0x00007ff14c101800 nid=0x1307 waiting on condition [0x0000000000000000]
- java.lang.Thread.State: RUNNABLE
- Locked ownable synchronizers:
- - None
- "DestroyJavaVM" #12 prio=5 os_prio=31 tid=0x00007ff14c0fe000 nid=0x1703 waiting on condition [0x0000000000000000]
- java.lang.Thread.State: RUNNABLE
- Locked ownable synchronizers:
- - None
- "Thread-1" #11 prio=5 os_prio=31 tid=0x00007ff14ca77000 nid=0x3d03 waiting for monitor entry [0x000070000c45c000]
- java.lang.Thread.State: BLOCKED (on object monitor)
- at com.mmall.concurrency.example.deadLock.DeadLock.run(DeadLock.java:43)
- - waiting to lock <0x000000076b5115c0> (a java.lang.Object)
- - locked <0x000000076b5115d0> (a java.lang.Object)
- at java.lang.Thread.run(Thread.java:745)
- Locked ownable synchronizers:
- - None
- "Thread-0" #10 prio=5 os_prio=31 tid=0x00007ff14ca4b000 nid=0x3c03 waiting for monitor entry [0x000070000c359000]
- java.lang.Thread.State: BLOCKED (on object monitor)
- at com.mmall.concurrency.example.deadLock.DeadLock.run(DeadLock.java:31)
- - waiting to lock <0x000000076b5115d0> (a java.lang.Object)
- - locked <0x000000076b5115c0> (a java.lang.Object)
- at java.lang.Thread.run(Thread.java:745)
- Locked ownable synchronizers:
- - None
... 此处省略部分无用的 thread 堆栈信息...
"VM Thread" os_prio=31 tid=0x00007ff14b82b000 nid=0x2d03 runnable
- "GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007ff14c012800 nid=0x2107 runnable
- "GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007ff14c013000 nid=0x2003 runnable
- "GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007ff14c816000 nid=0x2a03 runnable
- "GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007ff14c816800 nid=0x5403 runnable
"VM Periodic Task Thread" os_prio=31 tid=0x00007ff14ca0b000 nid=0x3a03 waiting on condition
- JNI global references: 42
- Found one Java-level deadlock:
- =============================
- "Thread-1":
waiting to lock monitor 0x00007ff14b0195c8 (object 0x000000076b5115c0, a java.lang.Object),
- which is held by "Thread-0"
- "Thread-0":
waiting to lock monitor 0x00007ff14b0174c8 (object 0x000000076b5115d0, a java.lang.Object),
- which is held by "Thread-1"
- Java stack information for the threads listed above:
- ===================================================
- "Thread-1":
- at com.mmall.concurrency.example.deadLock.DeadLock.run(DeadLock.java:43)
- - waiting to lock <0x000000076b5115c0> (a java.lang.Object)
- - locked <0x000000076b5115d0> (a java.lang.Object)
- at java.lang.Thread.run(Thread.java:745)
- "Thread-0":
- at com.mmall.concurrency.example.deadLock.DeadLock.run(DeadLock.java:31)
- - waiting to lock <0x000000076b5115d0> (a java.lang.Object)
- - locked <0x000000076b5115c0> (a java.lang.Object)
- at java.lang.Thread.run(Thread.java:745)
Found 1 deadlock.
来源: https://juejin.im/entry/5b403e45e51d45191f0cc33e