Overview
Explore the Monix Task, a powerful alternative to Scala's Future for handling asynchronous computations and non-determinism. Dive into this 42-minute conference talk from Scala Days Copenhagen 2017, where Alexandru Nedelcu demonstrates the design, use cases, and advantages of Monix Task. Learn about its compatibility with Scala.js/Javascript runtimes and the Cats library, as well as its performance-oriented architecture. Discover how Monix Task complements Scala's Future and why it's often a better choice for managing asynchronicity without blocking threads. Gain insights into key concepts such as memoization, tail-recursive loops, execution models, cancelables, error handling, and advanced features like asynchronous semaphores and circuit breakers.
Syllabus
Intro
WHAT IS MONIX?
EVALUATION IN SCALA
MONIX TASK'S BEHAVIOR
MEMOIZATION (3/4)
TAIL RECURSIVE LOOPS (4/4)
NO BOOBY TRAPS (2/2)
SCHEDULER (1/4)
EXECUTION MODEL: BATCHED
EXECUTION MODEL: ALWAYS ASYNC
REAL ASYNCHRONY
CANCELABLES: SAFE FALLBACKS (2/2)
CANCELABLES: BETTER FUTURE SEQUENCE
CANCELABLES: LOOPS
ERROR HANDLING (3/4)
ASYNCHRONOUS SEMAPHORE
CIRCUIT BREAKER
Taught by
Scala Days Conferences