![](/img/trans.png)
[英]Scala scalaz.Monad[scala.concurrent.Future], what about the execution context?
[英]What is execution context in Scala?
我是 Scala 的新手,并试图使用一些并行构造(尤其是Future
)。
我发现有一个ExecutionContext
类型的隐式参数。 IMO,它类似于(并且可能比)线程池的概念。 我试图通过文档来学习它,但我找不到任何关于它的清晰和详细的介绍。
谁能解释一下Scala中的执行上下文究竟是什么? 将执行上下文引入语言的目的是什么?
基本思想非常简单:您有一个将在某个时刻执行的回调。 它将在哪个线程上执行? 现在的? 一个新的? 一个从游泳池? 这是由执行上下文来决定的。 默认的 ( ExecutionContext.global
) 使用全局池中的线程(线程数由您拥有的 CPU 内核数决定)。
在其他情况下,您可能希望使用不同的上下文。 例如,Akka actor 可以使用他们的调度程序作为执行上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.