on a multi thread application, there are locked threads, as i get the threaddump, it seems to be about the java.util.Calendar class, the object is created using Calendar.getInstance()
which returns new
Instance. Do you have any comment.
here is a sample of the thread dump;
"QuartzScheduler_Worker-128" prio=10 tid=0x00007f48844fe800 nid=0xb75f runnable [0x00007f43f01bd000]
java.lang.Thread.State: RUNNABLE
at java.util.SimpleTimeZone.getOffset(SimpleTimeZone.java:656)
- locked <0x00007f4950c99780> (a java.util.SimpleTimeZone)
at java.util.SimpleTimeZone.getOffsets(SimpleTimeZone.java:550)
at java.util.SimpleTimeZone.getOffset(SimpleTimeZone.java:522)
...
"QuartzScheduler_Worker-124" prio=10 tid=0x00007f48844f6800 nid=0xb75a waiting for monitor entry [0x00007f43f05c3000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.util.SimpleTimeZone.getOffsets(SimpleTimeZone.java:533)
- waiting to lock <0x00007f4950c99780> (a java.util.SimpleTimeZone)
at java.util.SimpleTimeZone.getOffset(SimpleTimeZone.java:522)
at java.util.SimpleTimeZone.inDaylightTime(SimpleTimeZone.java:834)
at sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:282)
...
EDIT: jdk version is 1.6._021