它应该在停车前优雅地减速。
我试过旋转, Thread.yield()
以及 LockSupport.parkNanos(1L)
:
def backOff() {
backOffs += 1
if (backOffs <= spinCount) () // spin
else if (backOffs <= spinCount + yieldCount) Thread.`yield`()
else if (backOffs <= spinCount + yieldCount + parkNanosCount) LockSupport.parkNanos(1L)
else {
waitingThreads.add(Thread.currentThread())
LockSupport.park(this)
backOffs = 0
}
}
还有其他方法吗?
正在寻找适合于不同操作系统和环境上的大多数JVM 1.6+的回退实现。
暂无答案!
目前还没有任何答案,快来回答吧!