Core concept
val ec: ExecutionContext = ExecutionContext.fromExecutorService(
Executors.newFixedThreadPool(8))Advertisement
How it works
Wrong EC = wrong thread pool. Blocking on default EC starves.
Advertisement
Trade-offs + gotchas
Separate CPU-bound + IO-bound work.