在Scala中研究并行性,我得到的印象是Futures和executor任务就像轻量级线程。你可以创建比线程更多的东西。但我get an OOM exception running以下代码
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{Future, future, Await}
import scala.concurrent.duration._
def fib(n: Int): Future[Int] = future {if (n < 2) n else
List(n-1, n-2) map fib map {Await.result(_, Duration.Inf)} sum};
Await.result(fib(35), Duration.Inf)
发生了什么事?