Packages

final class Semaphore extends Serializable

An asynchronous semaphore, which is a generalization of a mutex. Semaphores have a certain number of permits, which can be held and released concurrently by different parties. Attempts to acquire more permits than available result in the acquiring fiber being suspended until the specified number of permits become available.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Semaphore
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def acquire: UIO[Unit]

    Acquires a single permit.

    Acquires a single permit. This must be paired with release in a safe fashion in order to avoid leaking permits.

    If a permit is not available, the fiber invoking this method will be suspended until a permit is available.

  5. final def acquireN(n: Long): UIO[Unit]

    Acquires a specified number of permits.

    Acquires a specified number of permits.

    If the specified number of permits are not available, the fiber invoking this method will be suspended until the permits are available.

    Ported from @mpilquist work in Cats Effect (https://github.com/typelevel/cats-effect/pull/403)

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. final def available: UIO[Long]

    The number of permits currently available.

  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def release: UIO[Unit]

    Releases a single permit.

  19. final def releaseN(toRelease: Long): UIO[Unit]

    Releases a specified number of permits.

    Releases a specified number of permits.

    If fibers are currently suspended until enough permits are available, they will be woken up (in FIFO order) if this action releases enough of them.

  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  25. final def withPermit[R, E, A](task: ZIO[R, E, A]): ZIO[R, E, A]

    Acquires a permit, executes the action and releases the permit right after.

  26. final def withPermitManaged[R, E]: ZManaged[R, E, Unit]

    Acquires a permit in a zio.ZManaged and releases the permit in the finalizer.

  27. final def withPermits[R, E, A](n: Long)(task: ZIO[R, E, A]): ZIO[R, E, A]

    Acquires n permits, executes the action and releases the permits right after.

  28. final def withPermitsManaged[R, E](n: Long): ZManaged[R, E, Unit]

    Acquires n permits in a zio.ZManaged and releases the permits in the finalizer.

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped