Class StripedLock<T>

java.lang.Object
com.strobel.concurrent.StripedLock<T>
Direct Known Subclasses:
StripedReentrantLock

public abstract class StripedLock<T> extends Object
  • Field Details

    • LOCK_COUNT

      private static final int LOCK_COUNT
      See Also:
    • locks

      protected final T[] locks
    • _lockAllocationCounter

      private int _lockAllocationCounter
  • Constructor Details

    • StripedLock

      protected StripedLock(Class<T> lockType)
  • Method Details

    • allocateLock

      @NotNull public T allocateLock()
    • allocateLockIndex

      public int allocateLockIndex()
    • createLock

      @NotNull protected abstract T createLock()
    • lock

      public abstract void lock(int index)
    • unlock

      public abstract void unlock(int index)