Does a Future get a new thread?
<p>Does a future implemented like below get a new thread? Apparently it is not(see the output below). Why? What should I do if I want my code to run on a new thread?</p>

<pre><code>package MyTest

import com.twitter.util._

import scala.language.postfixOps

object Test {

  def test1 = Future {
    println("BeforeTest", Thread.currentThread())
    Thread.sleep(5000)
    println("AfterTest", Thread.currentThread())
  }

  def test2 = test1 onSuccess { case _ =&gt; println("Future on success") }

  def main(args: Array[String]): Unit = {

    println("main", Thread.currentThread())
    test2
    println("main123", Thread.currentThread())
  }
}
</code></pre>

<p><strong>Output:</strong></p>

<p>(main,Thread[run-main-0,5,run-main-group-0])</p>

<p>(BeforeTest,Thread[run-main-0,5,run-main-group-0])</p>

<p>(AfterTest,Thread[run-main-0,5,run-main-group-0])</p>

<p>Future on success</p>

<p>(main123,Thread[run-main-0,5,run-main-group-0])</p>