--- a/src/Pure/Concurrent/simple_thread.scala Fri Apr 25 20:21:27 2014 +0200
+++ b/src/Pure/Concurrent/simple_thread.scala Fri Apr 25 21:31:39 2014 +0200
@@ -9,6 +9,9 @@
import java.lang.Thread
+import java.util.concurrent.{Callable, Future => JFuture}
+
+import scala.collection.parallel.ForkJoinTasks
object Simple_Thread
@@ -40,5 +43,13 @@
val thread = fork(name, daemon) { result.fulfill_result(Exn.capture(body)) }
(thread, result)
}
+
+
+ /* thread pool */
+
+ lazy val default_pool = ForkJoinTasks.defaultForkJoinPool
+
+ def submit_task[A](body: => A): JFuture[A] =
+ default_pool.submit(new Callable[A] { def call = body })
}