src/Pure/Concurrent/simple_thread.scala
changeset 56730 e723f041b6d0
parent 56707 aa4631879df8
child 56770 e160ae47db94
--- 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 })
 }