Java信号量tryAcquire在高负载下不支持超时
在我们的代码中,我们使用超时值调用Java信号量tryAcquire在高负载下不支持超时,java,semaphore,Java,Semaphore,在我们的代码中,我们使用超时值调用Semaphore.tryAcquire(…)。在重载情况下,信号量tryAcquire不会按照给定的超时值超时,因此大量线程将被卡在这里 有人面对过这个问题吗 堆栈跟踪: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226) java.util.concurrent.lock
Semaphore.tryAcquire(…)
。在重载情况下,信号量tryAcquire
不会按照给定的超时值超时,因此大量线程将被卡在这里
有人面对过这个问题吗
堆栈跟踪:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(Ab
stractQueuedSynchronizer.java:1033)
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(A
bstractQueuedSynchronizer.java:1326)
java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414)
你能创建一个新的计时器吗?所有计时器在重载下都是有弹性的。它是否曾经超时,在一段较长的时间之后,或者只是永远地阻塞?它被永久地阻塞了?您是否发现了问题?甚至我们也面临着类似的问题,一些线程可能会被永久锁定。你能创建一个线程吗?所有的计时器在重载下都是弹性的。它是否曾经超时,在一段较长的时间之后,或者只是永远地阻塞?它被永久地阻塞了?您是否发现了问题?甚至我们也面临着类似的问题,其中一些线程可能被永久锁定。