Netty线程池选择策略
按位与运算, 判断该数值是否为2^n
private static boolean isPowerOfTwo(int val) {
return (val & -val) == val;
}
如果线程池的线程数量是 2^n, 按位与效率较高
public EventExecutor next() {
return executors[idx.getAndIncrement() & executors.length - 1];
}
如果不是, 取模
public EventExecutor next() {
return executors[Math.abs(idx.getAndIncrement() % executors.length)];
}
本文探讨了Netty线程池的选择策略,通过按位与运算提高效率,当线程数为2^n时,使用按位与运算;否则采用取模运算。深入理解Netty如何高效调度线程,对提升并发性能有重要意义。
1510

被折叠的 条评论
为什么被折叠?



