summaryrefslogtreecommitdiff
path: root/src/library/scala/concurrent/ExecutionContext.scala
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2011-12-07 16:51:55 +0100
committerPhilipp Haller <hallerp@gmail.com>2011-12-07 16:51:55 +0100
commit4ea25c98d377b6b0369fa20aa9d4bfd3a3223ef6 (patch)
tree305eb48d4c7c6c672b9db6ef9f4a065d10400223 /src/library/scala/concurrent/ExecutionContext.scala
parent4b62e8059c1f0f8cb4624291b0aa64e6e460948e (diff)
downloadscala-4ea25c98d377b6b0369fa20aa9d4bfd3a3223ef6.tar.gz
scala-4ea25c98d377b6b0369fa20aa9d4bfd3a3223ef6.tar.bz2
scala-4ea25c98d377b6b0369fa20aa9d4bfd3a3223ef6.zip
Add future method to ExecutionContext trait. Log uncaught exceptions to stderr.
Diffstat (limited to 'src/library/scala/concurrent/ExecutionContext.scala')
-rw-r--r--src/library/scala/concurrent/ExecutionContext.scala16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/library/scala/concurrent/ExecutionContext.scala b/src/library/scala/concurrent/ExecutionContext.scala
index d54b6c370e..9606c28bab 100644
--- a/src/library/scala/concurrent/ExecutionContext.scala
+++ b/src/library/scala/concurrent/ExecutionContext.scala
@@ -12,24 +12,22 @@ trait ExecutionContext {
def execute(task: Runnable): Unit
- def task[T](task: () => T): Task[T]
+ def task[T](task: => T): Task[T]
def promise[T]: Promise[T]
+ def future[T](body: => T): Future[T] = {
+ val t = task(body)
+ t.start()
+ t.future
+ }
+
/** Only callable from the tasks running on the same execution context. */
def blockingCall[T](body: Blockable[T]): T
}
-object ExecutionContext {
-
- lazy val forNonBlocking = new ForkJoinExecutionContext
-
- //lazy val forBlocking = new BlockingExecutionContext
-
-}
-
sealed trait CanBlock