Class WideLatch

java.lang.Object
org.cojen.tupl.util.WideLatch

public class WideLatch extends Object
Non-reentrant latch implementation which supports highly concurrent shared requests, but exclusive requests are more expensive. The implementation distributes shared state over multiple cells, and so it can consume more memory than a regular latch.
See Also:
  • Constructor Details

    • WideLatch

      public WideLatch()
  • Method Details

    • tryAcquireShared

      public final boolean tryAcquireShared()
    • tryAcquireSharedNanos

      public final boolean tryAcquireSharedNanos(long nanosTimeout) throws InterruptedException
      Parameters:
      nanosTimeout - pass negative for infinite timeout
      Throws:
      InterruptedException
    • acquireShared

      public final void acquireShared()
    • acquireSharedInterruptibly

      public final void acquireSharedInterruptibly() throws InterruptedException
      Throws:
      InterruptedException
    • releaseShared

      public final void releaseShared()
    • acquireExclusive

      public final void acquireExclusive()
    • releaseExclusive

      public final void releaseExclusive()
    • hasQueuedThreads

      public final boolean hasQueuedThreads()