java—在jvm中放置等待线程之前最好的回退实现

oipij1gg  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(233)

它应该在停车前优雅地减速。
我试过旋转, 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+的回退实现。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题