/** * @return Index of current thread stripe. */ private int curIdx() { int idx; Thread curThread = Thread.currentThread(); if (curThread instanceof IgniteThread) { IgniteThread igniteThread = (IgniteThread)curThread; idx = igniteThread.compositeRwLockIndex(); if (idx == IgniteThread.GRP_IDX_UNASSIGNED) { idx = IDX_GEN.incrementAndGet(); igniteThread.compositeRwLockIndex(idx); } } else idx = IDX.get(); return idx % locks.length; }
/** * @return Index of current thread stripe. */ private int curIdx() { int idx; Thread curThread = Thread.currentThread(); if (curThread instanceof IgniteThread) { IgniteThread igniteThread = (IgniteThread)curThread; idx = igniteThread.compositeRwLockIndex(); if (idx == IgniteThread.GRP_IDX_UNASSIGNED) { idx = IDX_GEN.incrementAndGet(); igniteThread.compositeRwLockIndex(idx); } } else idx = IDX.get(); return idx % locks.length; }