моя программа была заблокирована, я использовал jstack commander для анализа, следующий поток взял блокировку «0x0000000603f02ae0», а другие потоки не смогли получить блокировку.
Я ждал по крайней мере один час, но поток не сделал ' t unlock, мой вопрос в том, почему состояние потока RUNNING и останавливается на java.util.HashMap.getEntry (HashMap.java:347)? это ошибка JDK оракула (солнца)?
моя версия jdk:
версия java "1.6.0_21"
Среда выполнения Java (TM) SE (сборка 1.6.0_21-b06)
64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 17.0-b16 , смешанный режим)
Информация о потоке:
"PandoraScheduleTrigger-thread-5" prio = 10 tid = 0x00000000443b0800 nid = 0x5804 runnable [0x0000000043722000] java.lang.Thread.State: RUNNABLE в java.util.HashMap.getEntry (HashMap.java ) по адресу java.util.HashMap.containsKey (HashMap.java:335) по адресу com.youlongqingfeng.pandora.context.ArmiesContext._getArmy (ArmiesContext.java:239) по адресу com.youlongqingfeng.pandora.context.ArmiesBank. java: 169) на com.youlongqingfeng.pandora.model.City.getTotalApplianceMap (City.java:4519) на com.youlongqingfeng.pandora.model.City.calculateMemoryResource (City.java:4636) на com.youlongqing.feng.p .City.buildTaskFinish (City.java:1089) на com.youlongqingfeng.pandora.map.unit.ZhouMapResourceUnit.buildTaskFinish (ZhouMapResourceUnit.java:1618) - заблокировано ‹0x0000000603f02aengyoulong (a com.youlongqingfeng.pandora.map.unit.ZhouMapResourceUnit.buildTaskFinish (ZhouMapResourceUnit.java:1618) - заблокировано ‹0x0000000603f02aengyoulong (a com. pandora.map.unit.ZhouMapResourceUnit) по адресу com.youlongqingfeng.pandora.trigger.BuildTrigger.innerRun (BuildT rigger.java:39) на com.youlongqingfeng.gameserver.utils.threadpool.CancelTrigger.run (CancelTrigger.java:34)
Заблокированный дамп потока:
"PandoraScheduleTrigger-thread-3" prio = 10 tid = 0x0000000044c7c000 nid = 0x5802 ожидает записи монитора [0x0000000043520000] java.lang.Thread.State: ЗАБЛОКИРОВАНО (на мониторе объекта) в com.youlongqingfeng.pandora.map.Runit.ZhouMap. armiesGroupReturnBack (ZhouMapResourceUnit.java:2279) - ожидание блокировки ‹0x0000000603f02ae0> (com.youlongqingfeng.pandora.map.unit.ZhouMapResourceUnit) в com.youlongqingfeng.gerpandora.TriggerGroupArmy .java: 53) на com.youlongqingfeng.gameserver.utils.threadpool.CancelTrigger.run (CancelTrigger.java:34) на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:441) на java.util. concurrent.FutureTask $ Sync.innerRun (FutureTask.java:303) в java.util.concurrent.FutureTask.run (FutureTask.java:138) в java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledExduledFutureTask.accessThread $ 301 ( ) в java.util.concurrent.ScheduledT hreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:207) в java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) в java.util.ThreadPoolExecutor. в java.lang.Thread.run (Thread.java:619)
Спасибо.