![](/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.