Eseguendo questo codice scala, non ho alcun output nella console. (Non capisco cosa sta succedendo)Utilizzo di futures e Thread.sleep
Se rimuovo Console.println("Console.println OK!")
=> tutto sembra a posto.
Se rimuovo Thread.sleep(2000)
=> tutto sembra a posto.
Avete qualche idea al riguardo? Grazie mille!
Clément
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._
import scala.concurrent.{Await, Future}
import scala.language.postfixOps
object ScalaFuture {
def main(args: Array[String]) {
val f: Future[String] = Future {
Thread.sleep(2000)
"future value"
}
f.onSuccess {
case s => {
Console.println("Console.println OK!")
System.out.println("System.out.println OK!")
}
}
Await.ready(f, 60 seconds)
}
}
Funziona bene per me. Cosa succede se si dorme per alcuni secondi dopo "Await.ready'? –
Se dormo qualche secondo dopo 'Await.ready' funziona bene => Ho l'output. – ctamisier
Quindi deve essere terminato prima che 'onSuccess' possa sparare. –