summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/parallel/Tasks.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-03-22 18:22:25 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2011-03-22 18:22:25 +0000
commite579152f7329a314607d33c7e3761b769b93518d (patch)
treee1ff4d301bdf7bc11b30f047645698f6aa82f800 /src/library/scala/collection/parallel/Tasks.scala
parent60d9a5127cf190c90e2e3ce4f79455469dac54eb (diff)
downloadscala-e579152f7329a314607d33c7e3761b769b93518d.tar.gz
scala-e579152f7329a314607d33c7e3761b769b93518d.tar.bz2
scala-e579152f7329a314607d33c7e3761b769b93518d.zip
Implementing foreach to work in parallel in Par...
Implementing foreach to work in parallel in ParIterableLike. Doing a bunch of refactoring around in the collection framework to ensure a parallel foreach is never called with a side-effecting method. This still leaves other parts of the standard library and the compiler unguarded. No review.
Diffstat (limited to 'src/library/scala/collection/parallel/Tasks.scala')
-rw-r--r--src/library/scala/collection/parallel/Tasks.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/library/scala/collection/parallel/Tasks.scala b/src/library/scala/collection/parallel/Tasks.scala
index 921223217d..f855dede19 100644
--- a/src/library/scala/collection/parallel/Tasks.scala
+++ b/src/library/scala/collection/parallel/Tasks.scala
@@ -329,6 +329,8 @@ object ThreadPoolTasks {
val numCores = Runtime.getRuntime.availableProcessors
+ val tcount = new atomic.AtomicLong(0L)
+
val defaultThreadPool = new ThreadPoolExecutor(
numCores,
Int.MaxValue,
@@ -337,6 +339,7 @@ object ThreadPoolTasks {
new ThreadFactory {
def newThread(r: Runnable) = {
val t = new Thread(r)
+ t.setName("pc-thread-" + tcount.incrementAndGet)
t.setDaemon(true)
t
}