像下面這樣的未來是否會實現新線程?顯然它不是(見下面的輸出)。爲什麼?如果我想讓我的代碼在新線程上運行,該怎麼辦?未來會有新線程嗎?
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 _ => println("Future on success") }
def main(args: Array[String]): Unit = {
println("main", Thread.currentThread())
test2
println("main123", Thread.currentThread())
}
}
輸出:
(主,線程[運行主0,5,運行主基團的0])
(BeforeTest,線程[運行main- 0,5,運行主基團的0])
(AfterTest,線程[運行主0,5,運行主基團的0])
未來上成功
(main123,螺紋[運行主0,5,運行主族-0])
感謝您的信息。這工作。該程序現在不退出(我正在通過sbt運行)。你爲什麼認爲這是? – Jonna
你必須關閉執行程序:executor.shutdown() –
這工作。非常感謝。 – Jonna