private static void runBenchmarkWithZipfDistributionLock(int thrdnum, Status stat, ILock lock, Segments pager, ConcurrentPluggableCache<Long, byte[]> cache, int capacity, int round, double percent, int scanLength, long[] dist) {
boolean scanning = false;
long scanCount = 0L;
final Random rand = new Random(129);
int scanned = 0, zipf = 0;
long base = 0L;
long mills1 = System.currentTimeMillis();
long ops = 0L;
long miss = 0L;
int iocontention = 0;
final int start = thrdnum * round;
final int limit = start + round - 1;
for(int nth = start, i = 0; !_stop; nth = (nth < limit) ? nth + 1 : start, i++) {
final long key;
if(scanning || scanLength != 0 && (i == scanLength && rand.nextDouble() < percent)) {
if(++scanCount <= scanLength) {
if(!scanning) {
base = dist[nth];
}
key = base + scanCount;