Предположим, у меня есть ExecutionContext
резервная копия фиксированного пула потоков и функция foo
, которая создает два вложенных фьючерса.
import scala.concurrent._
implicit val ec = ExecutionContext.fromExecutor(new ThreadPoolExecutor(...))
def foo(): Future[Int] = new Future {
...
new Future { ... }
}
Полагаю, этот код может создать тупик когда foo
создает множество Futures
, которые берут все потоки, а затем застревают, потому что не могут создать второе вложенное Future
. Это правильно?