netty解决空轮询bug

selector在没有结果的状况下,依然被唤醒,netty

  • 致使一直空轮询,cpu100%

netty 解决:select

  • 先定义当前时间currentTimeNanos。
  • 接着计算出一个执行最少须要的时间timeoutMillis。
  • 每次对selectCnt作++操做。
  • 进行判断,若是到达执行到最少时间,则seletCnt重置为1。
    • 一旦到达SELECTOR_AUTO_REBUILD_THRESHOLD这个阀值,就须要重建selector来解决这个问题。
    • 这个阀值默认是512。
相关文章
相关标签/搜索