首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于线程被阻塞而导致的性能问题

由于线程被阻塞而导致的性能问题
EN

Stack Overflow用户
提问于 2012-04-11 13:21:28
回答 1查看 2.9K关注 0票数 0

因为有时我们在Glassfish 3.1上运行的web应用程序会遇到严重的问题。应用程序通过jms进行异步通信。我们的本机服务通过JBossNetty进行通信。

问题是,对web应用程序的每个请求都会打开一个新线程。这是可以的,但线程永远不会关闭。几个小时后,由于阻塞的线程,系统挂起。

一些线索为什么线程被阻塞?我已经附加了下面的线程转储。

代码语言:javascript
复制
Full Java Thread Dump Java HotSpot(TM) 64-Bit Server VM 21.0-b17 Oracle Corporation

Number of threads: 878

Number of daemon threads: 765

Peak live thread count since the Java virtual machine started or peak was reset: 932

Is support for thread contention monitoring available on this JVM? [true]

Is thread contention monitoring enabled? [false]. If false, some thread synchronization statistics are not be available.

Is support for CPU time measurement for any thread available on this JVM? [true]

Is thread CPU time measurement enabled? [true]. If false, thread execution times are not available for any thread.

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "pool-34-thread-851" thread-id: 47.019 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@39e45b53

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 0

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 2

Total CPU time for this thread: 0 seconds 0 nanoseconds.

User-level CPU time for this thread: 0 seconds 0 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "pool-34-thread-850" thread-id: 47.018 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@39e45b53

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 0

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 1

Total CPU time for this thread: 0 seconds 0 nanoseconds.

User-level CPU time for this thread: 0 seconds 0 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "hz._hzInstance_1_dev.cached.thread-618" thread-id: 47.014 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@3f27c3d6

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 0

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 3

Total CPU time for this thread: 0 seconds 0 nanoseconds.

User-level CPU time for this thread: 0 seconds 0 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "New I/O server worker #1-13" thread-id: 47.004 thread-state: BLOCKED Waiting on lock: java.util.Collections$SynchronizedMap@41310d05

     at: com.mycompany.library.transmission.jbossNetty.JBossNettyServer.removeClient(JBossNettyServer.java:412)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.doDisconnect(ServerChannelHandler.java:459)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.channelDisconnected(ServerChannelHandler.java:196)

     at: org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:132)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:555)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.channelDisconnected(ReplayingDecoder.java:450)

     at: org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)

     at: org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:360)

     at: org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:587)

     at: org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:356)

     at: org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)

     at: org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)

     at: org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

     at: org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

This thread is blocked waiting on lock owned currently by thread named: pool-66-thread-1, id: 41.339

Number of times this thread was blocked (to enter/reenter a Monitor): 5

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 3

Total CPU time for this thread: 0 seconds 31.200.200 nanoseconds.

User-level CPU time for this thread: 0 seconds 31.200.200 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "New I/O server worker #1-15" thread-id: 46.997 thread-state: BLOCKED Waiting on lock: java.util.Collections$SynchronizedMap@41310d05

     at: com.mycompany.library.transmission.jbossNetty.JBossNettyServer.removeClient(JBossNettyServer.java:412)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.doDisconnect(ServerChannelHandler.java:459)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.channelDisconnected(ServerChannelHandler.java:196)

     at: org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:132)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:555)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.channelDisconnected(ReplayingDecoder.java:450)

     at: org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)

     at: org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:360)

     at: org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:587)

     at: org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:356)

     at: org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)

     at: org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)

     at: org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

     at: org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

This thread is blocked waiting on lock owned currently by thread named: pool-66-thread-1, id: 41.339

Number of times this thread was blocked (to enter/reenter a Monitor): 9

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 2

Total CPU time for this thread: 0 seconds 124.800.800 nanoseconds.

User-level CPU time for this thread: 0 seconds 124.800.800 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "New I/O server worker #1-22" thread-id: 46.985 thread-state: BLOCKED Waiting on lock: java.util.Collections$SynchronizedMap@41310d05

     at: com.mycompany.library.transmission.jbossNetty.JBossNettyServer.addClient(JBossNettyServer.java:395)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.doIdentify(ServerChannelHandler.java:397)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.messageReceived(ServerChannelHandler.java:283)

     at: org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)

     at: org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:526)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)

     at: org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)

     at: org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)

     at: org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)

     at: org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)

     at: org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)

     at: org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)

     at: org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

     at: org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

This thread is blocked waiting on lock owned currently by thread named: pool-66-thread-1, id: 41.339

Number of times this thread was blocked (to enter/reenter a Monitor): 304

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 4

Total CPU time for this thread: 0 seconds 156.001.000 nanoseconds.

User-level CPU time for this thread: 0 seconds 156.001.000 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "New I/O server worker #1-9" thread-id: 46.938 thread-state: RUNNABLE Running in native

     at: sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)

     at: sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)

     at: sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)

     at: sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)

     at: sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)

     at: sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)

     at: org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:38)

     at: org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:164)

     at: org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

     at: org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 308

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 3

Total CPU time for this thread: 0 seconds 202.801.300 nanoseconds.

User-level CPU time for this thread: 0 seconds 202.801.300 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "New I/O server worker #1-12" thread-id: 46.937 thread-state: BLOCKED Waiting on lock: java.util.Collections$SynchronizedMap@41310d05

     at: com.mycompany.library.transmission.jbossNetty.JBossNettyServer.removeClient(JBossNettyServer.java:412)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.doDisconnect(ServerChannelHandler.java:459)

     at: com.mycompany.library.transmission.jbossNetty.ServerChannelHandler.channelDisconnected(ServerChannelHandler.java:196)

     at: org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:132)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:555)

     at: org.jboss.netty.handler.codec.replay.ReplayingDecoder.channelDisconnected(ReplayingDecoder.java:450)

     at: org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)

     at: org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)

     at: org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:360)

     at: org.jboss.netty.channel.socket.nio.NioWorker.close(NioWorker.java:587)

     at: org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:356)

     at: org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)

     at: org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)

     at: org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)

     at: org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

This thread is blocked waiting on lock owned currently by thread named: pool-66-thread-1, id: 41.339

Number of times this thread was blocked (to enter/reenter a Monitor): 311

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 7

Total CPU time for this thread: 0 seconds 156.001.000 nanoseconds.

User-level CPU time for this thread: 0 seconds 156.001.000 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "pool-65-thread-267" thread-id: 46.936 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@7b4de4b2

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 3

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 2

Total CPU time for this thread: 0 seconds 0 nanoseconds.

User-level CPU time for this thread: 0 seconds 0 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "pool-65-thread-266" thread-id: 46.926 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@7b4de4b2

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------

Number of times this thread was blocked (to enter/reenter a Monitor): 3

Number of times this thread waited for a notification (i.e. it was in WAITING or TIMED_WAITING state): 3

Total CPU time for this thread: 0 seconds 0 nanoseconds.

User-level CPU time for this thread: 0 seconds 0 nanoseconds.

Object Monitors currently held or requested by this thread: []

Ownable Synchronizers (e.g. ReentrantLock and ReentrantReadWriteLock) held by this thread: []

--------------------------------------------------------------------------------

Thread Execution Information:

-----------------------

Thread "pool-65-thread-265" thread-id: 46.920 thread-state: TIMED_WAITING Waiting on lock: java.util.concurrent.SynchronousQueue$TransferStack@7b4de4b2

     at: sun.misc.Unsafe.park(Native Method)

     at: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)

     at: java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)

     at: java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)

     at: java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:942)

     at: java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)

     at: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)

     at: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

     at: java.lang.Thread.run(Thread.java:722)

Thread Synchronization Statistics:

-----------------------
EN

回答 1

Stack Overflow用户

发布于 2012-05-16 21:50:56

Sven Moschel,我不是100%确定这是你的问题,但有一些已知的but与重负载和glassfish 3.1.2 http://java.net/jira/browse/GLASSFISH-18351

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10100243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档