小编Gur*_*oca的帖子

怎么可能,3个线程处于阻塞状态,等待同一个监视器,并且没有线程拥有该监视器

在我们的生产环境中,weblogic服务器挂起半小时,看起来它有死锁线程.但在调查线程转储后,3个线程被阻塞用于同一个锁,但没有其他线程拥有此锁..这是堆栈跟踪 ..

你对这种侮辱有什么合理的解释吗?

这是被阻止的线程;

"pool-1013-thread-5"prio = 7 tid = 600000000842be00 nid = 17280 lwp_id = 518677正在等待监视器条目[9fffffffe6aff000..9fffffffe6b00bd0] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.Loader.getResultSet(Loader.java:1808)

"pool-1013-thread-4"prio = 7 tid = 6000000008413400 nid = 17279 lwp_id = 518676等待监视器条目[9fffffffe6eff000..9fffffffe6f00b50] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.loader.Loader.getRow(Loader.java:1197)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)的.apache.log4j.Category.log(Category.java:853) Org.hibernate.loader.adQuery.Lad前面的org.hibernate.loader.oQuery(Loader.java:724)中的org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:603)(Loader.java:259) org.hibernate.loader.Loader.loadEntity(Loader.java:1881)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader) .jav a:65)atg.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)org.hibernate.event.def上的org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434) .DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)在org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)在org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)在org.hibernate.event.DefaultLo文件中的org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)(SessionImpl.java:905)

"pool-1013-thread-3"prio = 7 tid = 6000000008411c00 nid = 17278 lwp_id = 518675等待监视器输入[9fffffffe70ff000..9fffffffe7100ad0] java.lang.Thread.State:org.apache中的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.getResultSet(Loader.java:1808)atg.hibernate.loader.Loader.doQuery(Loader.java:697)

java multithreading deadlock weblogic

1
推荐指数
1
解决办法
9199
查看次数

标签 统计

deadlock ×1

java ×1

multithreading ×1

weblogic ×1