Los futuros no se ejecutan antes de la terminación del programa

Estaba intentando reproducir el ejemplo en el nuevo Scala 2.10.característica de futuros. El código que he usado es:

<code>import scala.concurrent.Future
import scala.concurrent.future

object Test {
    def main(args: Array[String]) {
     println("Test print before future")
     val s = "Hello"
     val f = future {s + " future!"}
     f onSuccess {case v => println(v)}
     println("Test print after future")
    }
}
</code>

En lugar de imprimir:

<code>Test print before future
Hello future!
Test print after future
</code>

Simplemente imprime:

<code>Test print before future
Test print after future
</code>

¿Alguna idea de por qué tengo este comportamiento? Mi versión del compilador de Scala es 2.10.0-20120507.

Respuestas a la pregunta(3)

Su respuesta a la pregunta