final class TrampolineExecutionContext extends ExecutionContextExecutor
A scala.concurrentExecutionContext implementation
that executes runnables immediately, on the current thread,
by means of a trampoline implementation.
Can be used in some cases to keep the asynchronous execution on the current thread, as an optimization, but be warned, you have to know what you're doing.
The TrampolineExecutionContext keeps a reference to another
underlying context, to which it defers for:
- reporting errors
 - deferring the rest of the queue in problematic situations
 
Deferring the rest of the queue happens:
- in case we have a runnable throwing an exception, the rest
   of the tasks get re-scheduled for execution by using
   the 
underlyingcontext - in case we have a runnable triggering a Scala 
blockingcontext, the rest of the tasks get re-scheduled for execution on theunderlyingcontext to prevent any deadlocks 
Thus this implementation is compatible with the
scala.concurrent.BlockContext, detecting blocking blocks and
reacting by forking the rest of the queue to prevent deadlocks.
Linear Supertypes
Ordering
- Alphabetic
 - By Inheritance
 
Inherited
- TrampolineExecutionContext
 - ExecutionContextExecutor
 - Executor
 - ExecutionContext
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
Visibility
- Public
 - Protected
 
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
 
 -   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 execute(runnable: Runnable): Unit
- Definition Classes
 - TrampolineExecutionContext → Executor → ExecutionContext
 
 -    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()
 
 -    def reportFailure(t: Throwable): Unit
- Definition Classes
 - TrampolineExecutionContext → ExecutionContext
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   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()
 
 
Deprecated Value Members
-    def prepare(): ExecutionContext
- Definition Classes
 - ExecutionContext
 - Annotations
 - @deprecated
 - Deprecated
 (Since version 2.12.0) preparation of ExecutionContexts will be removed
 

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.