问题描述
- 急求。。。。。看下java的dump文件,会这样
-
2015-03-18 22:38:54
Full thread dump Java HotSpot(TM) Client VM (20.1-b02 mixed mode, sharing):"Attach Listener" daemon prio=10 tid=0x089f1c00 nid=0x1df1 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLELocked ownable synchronizers:
- None"DestroyJavaVM" prio=10 tid=0x0806f400 nid=0x1297 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLELocked ownable synchronizers:
- None"pool-1-thread-1" prio=10 tid=0x08a70c00 nid=0x1341 waiting on condition [0xb4806000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:662)Locked ownable synchronizers:
- None"Low Memory Detector" daemon prio=10 tid=0x080b3800 nid=0x129d runnable [0x00000000]
java.lang.Thread.State: RUNNABLELocked ownable synchronizers:
- None"C1 CompilerThread0" daemon prio=10 tid=0x080a8000 nid=0x129c waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLELocked ownable synchronizers:
- None"Signal Dispatcher" daemon prio=10 tid=0x080a6800 nid=0x129b runnable [0x00000000]
java.lang.Thread.State: RUNNABLELocked ownable synchronizers:
- None"Finalizer" daemon prio=10 tid=0x0809e800 nid=0x129a in Object.wait() [0xb4ed9000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)Locked ownable synchronizers:
- None"Reference Handler" daemon prio=10 tid=0x0809d400 nid=0x1299 in Object.wait() [0xb4f2b000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked (a java.lang.ref.Reference$Lock)Locked ownable synchronizers:
- None"VM Thread" prio=10 tid=0x08092c00 nid=0x1298 runnable
"VM Periodic Task Thread" prio=10 tid=0x080b5800 nid=0x129e waiting on condition
JNI global references: 1109
我使用了Executors.newFixedThreadPool线程池来执行任务,,,主进程退出不了。
为什么啊???
解决方案
代码贴上来才好分析,直接贴dump没法搞的~