ConcurrentHashMap是否有可能“死锁”?

我们遇到了一个奇怪的问题ConcurrentHashMap,其中似乎有两个线程正在调用put(),然后在方法内部永远等待Unsafe.park()。从外部看,内部看起来像是一个僵局ConcurrentHashMap

到目前为止,我们只看到这种情况发生一次。

谁能想到任何可能导致这些症状的东西?

:相关线程的线程转储在这里:

“ [已编辑]线程2” prio = 10 tid = 0x000000005bbbc800 nid = 0x921等待条件[0x0000000040e93000]

java.lang.Thread.State:等待(停车)

在sun.misc.Unsafe.park(本机方法)

-停车以等待<0x00002aaaf1207b40>(java.util.concurrent.locks.ReentrantLock $ NonfairSync)

在java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)

在java.util.concurrent.locks.ReentrantLock $ NonfairSync.lock(ReentrantLock.java:186)

在java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)

在java.util.concurrent.ConcurrentHashMap $ Segment.put(ConcurrentHashMap.java:417)

在java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:883)

于[删除]

“ [已编辑]线程0” prio = 10 tid = 0x000000005bf38000 nid = 0x91f等待条件[0x000000004151d000]

java.lang.Thread.State:等待(停车)

在sun.misc.Unsafe.park(本机方法)

-停车以等待<0x00002aaaf1207b40>(java.util.concurrent.locks.ReentrantLock $ NonfairSync)

在java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)

在java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)

在java.util.concurrent.locks.ReentrantLock $ NonfairSync.lock(ReentrantLock.java:186)

在java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)

在java.util.concurrent.ConcurrentHashMap $ Segment.put(ConcurrentHashMap.java:417)

在java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:883)

于[删除]

回答:

可能不是您想要的答案,但这可能是JVM错误。看到

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6865591

以上是 ConcurrentHashMap是否有可能“死锁”? 的全部内容, 来源链接: utcz.com/qa/399157.html

回到顶部