/** * Release shared lock. */ @Override public void unlock() { releaseShared(); mShared.get().count--; }
/** * Release shared lock. */ @Override public void unlock() { releaseShared(); mShared.get().count--; }
/** * Release shared lock. */ @Override public void unlock() { releaseShared(); mShared.get().count--; }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); return null; } else { shared.count++; return shared; } }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); return null; } else { shared.count++; return shared; } }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); return null; } else { shared.count++; return shared; } }
void release() { CommitLock lock = get(); if (lock != null) { lock.releaseShared(); } count--; } }
void release() { CommitLock lock = get(); if (lock != null) { lock.releaseShared(); } count--; } }
void release() { CommitLock lock = get(); if (lock != null) { lock.releaseShared(); } count--; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireSharedInterruptibly() throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireSharedInterruptibly(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireShared(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireSharedInterruptibly() throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireSharedInterruptibly(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireShared(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireSharedInterruptibly() throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireSharedInterruptibly(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock */ Shared acquireShared() { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); mFullLatch.acquireShared(); try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared(long time, TimeUnit unit) throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); if (time < 0) { mFullLatch.acquireShared(); } else if (time == 0 || !mFullLatch.tryAcquireSharedNanos(unit.toNanos(time))) { return null; } try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared(long time, TimeUnit unit) throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); if (time < 0) { mFullLatch.acquireShared(); } else if (time == 0 || !mFullLatch.tryAcquireSharedNanos(unit.toNanos(time))) { return null; } try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }
/** * Acquire shared lock. * * @return shared object to unlock; is null if acquire failed */ Shared tryAcquireShared(long time, TimeUnit unit) throws InterruptedException { mSharedAcquire.increment(); Shared shared = mShared.get(); if (mExclusiveThread != null && shared.count == 0) { releaseShared(); if (time < 0) { mFullLatch.acquireShared(); } else if (time == 0 || !mFullLatch.tryAcquireSharedNanos(unit.toNanos(time))) { return null; } try { mSharedAcquire.increment(); } finally { mFullLatch.releaseShared(); } } shared.count++; return shared; }