默认情况下,对于Hotspot,CTRL-Break线程转储不会列出哪些线程持有java.lang.concurrent锁。而且我知道使用这些锁,Hotspot无法获得有关在哪个堆栈帧获取锁的信息。如果添加JVM选项-XX:+PrintConcurrentLocks,则CTRL-Break堆栈转储将列出(在线程的堆栈跟踪之后)该帧持有的任何并发锁。例如:"D-Java-5-Lock"prio=6tid=0x00000000069a1800nid=0x196crunnable[0x000000000770f000]java.lang.Thread.State:RUNNABLEatcom.