構成。
$ tree . └── thread.scala 0 directories, 1 file
thread.scala
object Main { def main(args: Array[String]) = { println("ThreadSample#main start") for(i<-0 to 3) { val t = new Thread(new ThreadSample("[Thread-" + i + "]")) t.start() } println("ThreadSample#main end") } } class ThreadSample(name: String) extends Runnable { def run() = { for(i<-0 to 3) { println(name + "count=" + i) Thread.sleep(1000) } } }
sbt実行。
$ sbt
[warn] The global sbt directory is now versioned and is located at /Users/shige/.sbt/0.13.
[warn] You are seeing this warning because there is global configuration in /Users/shige/.sbt but not in /Users/shige/.sbt/0.13.
[warn] The global sbt directory may be changed via the sbt.global.base system property.
[info] Set current project to scala-thread (in build file:/Users/shige/junk/2014/03/scala-thread/)
> run
[info] Updating {file:/Users/shige/junk/2014/03/scala-thread/}scala-thread...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/shige/junk/2014/03/scala-thread/target/scala-2.10/classes...
[info] Running Main
ThreadSample#main start
[Thread-2]count=0
[Thread-0]count=0
[Thread-1]count=0
ThreadSample#main end
[Thread-3]count=0
[Thread-2]count=1
[Thread-1]count=1
[Thread-0]count=1
[Thread-3]count=1
[Thread-1]count=2
[Thread-3]count=2
[Thread-2]count=2
[Thread-0]count=2
[Thread-1]count=3
[Thread-2]count=3
[Thread-3]count=3
[Thread-0]count=3
[success] Total time: 17 s, completed 2014/03/14 20:56:48