summaryrefslogtreecommitdiff
path: root/src/library/scala/concurrent/ExecutionContext.scala
diff options
context:
space:
mode:
authorAleksandar Prokopec <axel22@gmail.com>2012-04-04 21:02:43 +0200
committerAleksandar Prokopec <axel22@gmail.com>2012-04-04 21:02:43 +0200
commitc2b081e5bd399dacba2e4a4cf6ad017b7406dfbd (patch)
tree9c70843314378c1b1aa57958dd1377d91f3d3caf /src/library/scala/concurrent/ExecutionContext.scala
parentf2bc58ce1b81f23f92d484d9fbeb4575b45d4af3 (diff)
downloadscala-c2b081e5bd399dacba2e4a4cf6ad017b7406dfbd.tar.gz
scala-c2b081e5bd399dacba2e4a4cf6ad017b7406dfbd.tar.bz2
scala-c2b081e5bd399dacba2e4a4cf6ad017b7406dfbd.zip
Add some ExecutionContext factories.
Diffstat (limited to 'src/library/scala/concurrent/ExecutionContext.scala')
-rw-r--r--src/library/scala/concurrent/ExecutionContext.scala17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/library/scala/concurrent/ExecutionContext.scala b/src/library/scala/concurrent/ExecutionContext.scala
index 16d9a1f980..e1d4276396 100644
--- a/src/library/scala/concurrent/ExecutionContext.scala
+++ b/src/library/scala/concurrent/ExecutionContext.scala
@@ -11,7 +11,7 @@ package scala.concurrent
import java.util.concurrent.atomic.{ AtomicInteger }
-import java.util.concurrent.{ Executors, Future => JFuture, Callable }
+import java.util.concurrent.{ Executors, Future => JFuture, Callable, ExecutorService, Executor }
import scala.concurrent.util.Duration
import scala.concurrent.forkjoin.{ ForkJoinPool, RecursiveTask => FJTask, RecursiveAction, ForkJoinWorkerThread }
import scala.collection.generic.CanBuildFrom
@@ -36,5 +36,20 @@ trait ExecutionContext {
}
+/** Contains factory methods for creating execution contexts.
+ */
+object ExecutionContext {
+
+ implicit def defaultExecutionContext: ExecutionContext = scala.concurrent.defaultExecutionContext
+
+ /** Creates an `ExecutionContext` from the given `ExecutorService`.
+ */
+ def fromExecutorService(e: ExecutorService): ExecutionContext with Executor = new impl.ExecutionContextImpl(e)
+
+ /** Creates an `ExecutionContext` from the given `Executor`.
+ */
+ def fromExecutor(e: Executor): ExecutionContext with Executor = new impl.ExecutionContextImpl(e)
+
+}