object Semaphore
- Source
 - Semaphore.scala
 
- Alphabetic
 - By Inheritance
 
- Semaphore
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Type Members
-  implicit final class DeprecatedExtensions[F[_]] extends AnyVal
 
Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def apply[F[_]](provisioned: Long, ps: PaddingStrategy = NoPadding)(implicit F: OrElse[Concurrent[F], Async[F]], cs: ContextShift[F]): F[Semaphore[F]]
Builds a Semaphore instance.
Builds a Semaphore instance.
- provisioned
 is the number of permits initially available
- ps
 is an optional padding strategy for avoiding the "false sharing problem", a common JVM effect when multiple threads read and write in shared variables
- F
 is the type class instance required to make
Semaphorework, can be eitherConcurrentorAsyncfor extra flexibility- cs
 is a
ContextShiftinstance required in order to introduce async boundaries after successfulacquireoperations, for safety
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def finalize(): Unit
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.Throwable])
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -    def unsafe[F[_]](provisioned: Long, ps: PaddingStrategy = NoPadding)(implicit F: OrElse[Concurrent[F], Async[F]], cs: ContextShift[F]): Semaphore[F]
Builds a Semaphore instance.
Builds a Semaphore instance.
Unsafe warning: this violates referential transparency. Use with care, prefer the pure Semaphore.apply.
- provisioned
 is the number of permits initially available
- ps
 is an optional padding strategy for avoiding the "false sharing problem", a common JVM effect when multiple threads read and write in shared variables
- F
 is the type class instance required to make
Semaphorework, can be eitherConcurrentorAsyncfor extra flexibility- cs
 is a
ContextShiftinstance required in order to introduce async boundaries after successfulacquireoperations, for safety
- Annotations
 - @UnsafeBecauseImpure()
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()
 
 

This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomictypes, as alternative tojava.util.concurrent.atomicmonix.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observablepattern:Observableimplementationsmonix.tail exposes Iterant for purely functional pull based streaming:
BatchandBatchCursor, the alternatives to Scala'sIterableandIteratorrespectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.