File: future-termination.scala

package info (click to toggle)
scala 2.9.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 67,208 kB
  • sloc: java: 27,488; xml: 4,412; python: 2,297; sh: 734; makefile: 16; ansic: 6
file content (19 lines) | stat: -rw-r--r-- 517 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import scala.actors.Futures 
 
/* Test that unevaluated futures do not prevent program termination */ 
 
object Test { 
  def main(args: Array[String]) { 
    try {
    val meaningOfLife = Futures.future { 
      Thread.sleep(5000) // pretend this is a harder problem than it is 
      println("I have the answer!") 
      42 
    } 
    println("I can't wait that long, bye.") 
    } catch {
      case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] =>
        e.printStackTrace()
    }
  } 
}