selector在没有结果的情况下,依然被唤醒,
- 导致一直空轮询,cpu100%
netty 解决:
- 先定义当前时间currentTimeNanos。
- 接着计算出一个执行最少需要的时间timeoutMillis。
- 每次对selectCnt做++操作。
- 进行判断,如果到达执行到最少时间,则seletCnt重置为1。
- 一旦到达SELECTOR_AUTO_REBUILD_THRESHOLD这个阀值,就需要重建selector来解决这个问题。
- 这个阀值默认是512。
selector在没有结果的情况下,依然被唤醒,
netty 解决:
转载于:https://my.oschina.net/u/3847203/blog/3080430