"printLockThread" prio=6 tid=0x02b13800 nid=0x284 waiting for monitor entry [0x02eaf000..0x02eafd14] java.lang.Thread.State: BLOCKED (on object monitor) at net.blogjava.narry.stringlock.StringLockTest$Test2.printHoldLock(StringLockTest.java:61) - waiting to lock <0x26a2b918> (a java.lang.String) at net.blogjava.narry.stringlock.StringLockTest$Test2.access$1(StringLockTest.java:59) at net.blogjava.narry.stringlock.StringLockTest$2.run(StringLockTest.java:25) at java.lang.Thread.run(Thread.java:619)
Locked ownable synchronizers: - None
"holdLockThread" prio=6 tid=0x02b12800 nid=0x1d8 waiting on condition [0x02e5f000..0x02e5fd94] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at net.blogjava.narry.stringlock.StringLockTest$Test1.holdLock(StringLockTest.java:48) - locked <0x26a2b918> (a java.lang.String) at net.blogjava.narry.stringlock.StringLockTest$1.run(StringLockTest.java:15) at java.lang.Thread.run(Thread.java:619)