Java常用的位与或等运算

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)];
}

你可能感兴趣的:(Java)