1.加权轮询调度
WeightedRoundRobinMultiplexer
/**
* Determines which queue to start reading from, occasionally drawing from
* low-priority queues in order to prevent starvation. Given the pull pattern
* [9, 4, 1] for 3 queues:
*
* The cycle is (a minimum of) 9+4+1=14 reads.
* Queue 0 is read (at least) 9 times
* Queue 1 is read (at least) 4 times
* Queue 2 is read (at least) 1 time
* Repeat
*
* There may be more reads than the minimum due to race conditions. This is
* allowed by design for performance reasons.
*/
/**
*确定从哪个队列开始读取,偶尔从中抽取
*低优先级队列,以防止饥饿。 鉴于拉动模式
* [9,4,1]为3个队列:
*
*周期是(最少)9 + 4 + 1 = 14次读数。
*队列0被读取(至少)9次
*队列1被读取(至少)4次
*队列2被读取(至少)1次
*重复
*
*由于竞争条件,可能会有比最小值更多的读数。 这是
*出于性能原因,设计允许。
*/