如何插入队列时数据均匀排布

2020-03-17  本文已影响0人  QZH_2019

需求:
假设有n条队列,讲数据入队列时,需要散列一下。

id为业务唯一标识

int h;        
String key = String.valueOf(id);        // 获取id的的hash值         
int hash = (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);         // 对hash取模,路由到指定的内存队列中
int index = (n-1) & hash;

index就是要放入队列的索引

上一篇下一篇

猜你喜欢

热点阅读