private LockManager(LocalDatabase db, LockUpgradeRule lockUpgradeRule, long timeoutNanos, int numHashTables) { mDatabaseRef = db == null ? null : new WeakReference<>(db); if (lockUpgradeRule == null) { lockUpgradeRule = LockUpgradeRule.STRICT; } mDefaultLockUpgradeRule = lockUpgradeRule; mDefaultTimeoutNanos = timeoutNanos; numHashTables = Utils.roundUpPower2(Math.max(2, numHashTables)); mHashTables = new LockHT[numHashTables]; for (int i=0; i<numHashTables; i++) { mHashTables[i] = new LockHT(); } mHashTableShift = Integer.numberOfLeadingZeros(numHashTables - 1); mLocalLockerRef = new ThreadLocal<>(); }
private LockManager(LocalDatabase db, LockUpgradeRule lockUpgradeRule, long timeoutNanos, int numHashTables) { mDatabaseRef = db == null ? null : new WeakReference<>(db); if (lockUpgradeRule == null) { lockUpgradeRule = LockUpgradeRule.STRICT; } mDefaultLockUpgradeRule = lockUpgradeRule; mDefaultTimeoutNanos = timeoutNanos; numHashTables = Utils.roundUpPower2(Math.max(2, numHashTables)); mHashTables = new LockHT[numHashTables]; for (int i=0; i<numHashTables; i++) { mHashTables[i] = new LockHT(); } mHashTableShift = Integer.numberOfLeadingZeros(numHashTables - 1); mLocalLockerRef = new ThreadLocal<>(); }
private LockManager(LocalDatabase db, LockUpgradeRule lockUpgradeRule, long timeoutNanos, int numHashTables) { mDatabaseRef = db == null ? null : new WeakReference<>(db); if (lockUpgradeRule == null) { lockUpgradeRule = LockUpgradeRule.STRICT; } mDefaultLockUpgradeRule = lockUpgradeRule; mDefaultTimeoutNanos = timeoutNanos; numHashTables = Utils.roundUpPower2(Math.max(2, numHashTables)); mHashTables = new LockHT[numHashTables]; for (int i=0; i<numHashTables; i++) { mHashTables[i] = new LockHT(); } mHashTableShift = Integer.numberOfLeadingZeros(numHashTables - 1); mLocalLockerRef = new ThreadLocal<>(); }