2回复
3年前
读写锁获取锁时出现java.lang.InterruptedException
异常如下:
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos(AbstractQueuedSynchronizer.java:1245)
at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.tryLock(ReentrantReadWriteLock.java:1115)
没有其他代码显式的对线程进行interrput()调用,这种情况是如何产生的?观察gc日志,在异常出现的时间点有过young gc。gc算法使用的是G1。
怀疑点:gc时触发STW,导致业务线程被中断。
疑问:是否有证据能够直接证明猜测?
3066 阅读