Thread lock status view

 

jstack process number, print out the running status of the thread:

 

java.lang.Thread.State: BLOCKED (on object monitor)--indicates that the thread is blocked
 

BLOCKED is due to synchronized locks. 

 

 

  - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
    Description blocking is waiting for this lock.

 

  So who holds the lock?

"pool-1-thread-8" #18 prio=5 os_prio=0 tid=0x0000000059650800 nid=0x21d4 runnable [0x000000005af5f000]
   java.lang.Thread.State: RUNNABLE
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
       - locked <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
This thread holds the lock and is running.

 

 

 

 

 

 

"pool-1-thread-16" #26 prio=5 os_prio=0 tid=0x0000000059658800 nid=0x140 waiting for monitor entry [0x000000005bb1f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb3438> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-15" #25 prio=5 os_prio=0 tid=0x0000000059658000 nid=0x22c8 waiting for monitor entry [0x000000005b95e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb3100> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-14" #24 prio=5 os_prio=0 tid=0x0000000059657000 nid=0x904 waiting for monitor entry [0x000000005b85f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb2e58> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-13" #23 prio=5 os_prio=0 tid=0x0000000059656800 nid=0x1ef4 waiting for monitor entry [0x000000005b59f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb2b20> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-12" #22 prio=5 os_prio=0 tid=0x0000000059655800 nid=0x26ec waiting for monitor entry [0x000000005b6df000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb2878> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-11" #21 prio=5 os_prio=0 tid=0x0000000059655000 nid=0x1568 waiting for monitor entry [0x000000005b45e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb25d0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-10" #20 prio=5 os_prio=0 tid=0x0000000059654000 nid=0x18f4 waiting for monitor entry [0x000000005b31f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb2328> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-9" #19 prio=5 os_prio=0 tid=0x0000000059653800 nid=0x1960 waiting for monitor entry [0x000000005b11f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb2080> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-8" #18 prio=5 os_prio=0 tid=0x0000000059650800 nid=0x21d4 runnable [0x000000005af5f000]
   java.lang.Thread.State: RUNNABLE
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - locked <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb1dd8> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-7" #17 prio=5 os_prio=0 tid=0x0000000059650000 nid=0x154c waiting for monitor entry [0x000000005ab5f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb1ae0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-6" #16 prio=5 os_prio=0 tid=0x000000005964e000 nid=0x179c waiting for monitor entry [0x0000000059d0f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb1838> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-5" #15 prio=5 os_prio=0 tid=0x000000005964d800 nid=0x2164 waiting for monitor entry [0x000000005ae5f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb1590> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-4" #14 prio=5 os_prio=0 tid=0x000000005964c800 nid=0x105c waiting for monitor entry [0x000000005ac6e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb12e8> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-3" #13 prio=5 os_prio=0 tid=0x0000000059649800 nid=0x1a54 waiting for monitor entry [0x000000005aa5f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb1010> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-2" #12 prio=5 os_prio=0 tid=0x0000000059648800 nid=0x1c60 waiting for monitor entry [0x000000005a86e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000d6cb0d68> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-1-thread-1" #11 prio=5 os_prio=0 tid=0x0000000059648000 nid=0x2618 waiting for monitor entry [0x000000005a6bf000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at code.example.base.util.concurrent.lock.speed.SyncSpeed.lockRun(SyncSpeed.java:6)
        - waiting to lock <0x00000000d6c8e750> (a code.example.base.util.concurrent.lock.speed.SyncSpeed)
        at code.example.base.util.concurrent.lock.speed.SpeedTest$1.run(SpeedTest.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

 

 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326607115&siteId=291194637