Scala Futures - Timeout eingebaut?

Es gibt einen Aspekt von Futures, den ich aus dem offiziellen Tutorial nicht genau verstehe.http://docs.scala-lang.org/overviews/core/futures.html

Haben Futures in Scala einen eingebauten Timeout-Mechanismus? Nehmen wir an, das folgende Beispiel war eine 5-Gigabyte-Textdatei ... Führt der implizite Umfang von "Implicits.global" schließlich dazu, dass onFailure nicht blockierend ausgelöst wird, oder kann dies definiert werden? Und ohne eine Art Standard-Auszeit würde das nicht bedeuten, dass weder Erfolg noch Misserfolg jemals ausgelöst werden könnten?

import scala.concurrent._
import ExecutionContext.Implicits.global

val firstOccurence: Future[Int] = future {
  val source = scala.io.Source.fromFile("myText.txt")
  source.toSeq.indexOfSlice("myKeyword")
}
firstOccurence onSuccess {
  case idx => println("The keyword first appears at position: " + idx)
}
firstOccurence onFailure {
  case t => println("Could not process file: " + t.getMessage)
}

Antworten auf die Frage(11)

Ihre Antwort auf die Frage