Digamos que eu tenha um futuro definido da seguinte forma
val fut = Future {
println("Doing some work")
Thread.sleep(5000)
println("Work done")
}
Estou acessando este futuro mais tarde, mas gostaria que ele fosse executado na inicialização em vez de quando eu referenciasse o futuro.
Li em algum lugar que isso pode ser executado imediatamente fazendo:
scala.concurrent.ExecutionContext.Implicits.global.execute(fut)
No entanto, isso não será compilado, pois execute só pega um Runnable. Existe uma maneira de executar esse future imediatamente em um thread diferente?
Os Scala
Future
criados usandoFuture.apply
são executados com entusiasmo.Para execução não rápida, você terá que definir sua própria classe para criar indiretamente
Future
usandoPromise
.Pode ser usado da seguinte forma: