执行上下文¶
执行上下文
Future 和 Promise 的计算任务放在 ExecutionContext 中执行。一个 ExecutionContext 相当于一个执行器,它会将计算任务放在新线程或者线程池中执行,也可以放在当前线程中执行,不过不推荐。
scala.concurrent 提供了一个 ExecutionContext 的实现,一个全局的静态线程池,它也可以将 Executor 转换成 ExecutionContext 。
当然我们也可以通过继承 ExecutionContext 来自定义执行上下文。
全局执行上下文
ExecutionContext.global 由 ForkJoinPool 提供,它能满足我们大多数情况下的需求,但是也需要注意一些情况。