scala.collection.parallel

# TaskSupport

#### trait TaskSupport extends Tasks

A trait implementing the scheduling of a parallel collection operation.

Parallel collections are modular in the way operations are scheduled. Each parallel collection is parametrized with a task support object which is responsible for scheduling and load-balancing tasks to processors.

A task support object can be changed in a parallel collection after it has been created, but only during a quiescent period, i.e. while there are no concurrent invocations to parallel collection methods.

There are currently a few task support implementations available for parallel collections. The scala.collection.parallel.ForkJoinTaskSupport uses a fork-join pool internally.

The scala.collection.parallel.ExecutionContextTaskSupport uses the default execution context implementation found in scala.concurrent, and it reuses the thread pool used in scala.concurrent.

The execution context task support is set to each parallel collection by default, so parallel collections reuse the same fork-join pool as the future API.

Here is a way to change the task support of a parallel collection:

    import scala.collection.parallel._
    val pc = mutable.ParArray(1, 2, 3)
    pc.tasksupport = new ForkJoinTaskSupport(
      new scala.concurrent.forkjoin.ForkJoinPool(2))

Source
  TaskSupport.scala
See also

  Configuring Parallel Collections section on the parallel collection's guide for more information.

Linear Supertypes
Tasks, AnyRef, Any
Known Subclasses
ExecutionContextTaskSupport, ForkJoinTaskSupport, ThreadPoolTaskSupport
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. TaskSupport
2. Tasks
3. AnyRef
4. Any

Implicitly

1. by CollectionsHaveToParArray
2. by any2stringadd
3. by StringFormat
4. by Ensuring
5. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Type Members

1. #### trait WrappedTask[R, +Tp] extends AnyRef

   Definition Classes
     Tasks

### Abstract Value Members

1. #### abstract val environment: AnyRef

   The type of the environment is more specific in the implementations.

   The type of the environment is more specific in the implementations.

   Definition Classes
     Tasks

2. #### abstract def execute[R, Tp](fjtask: Task[R, Tp]): () ⇒ R

   Executes a task and returns a future.

   Executes a task and returns a future. Forwards an exception if some task threw it.

   Definition Classes
     Tasks

3. #### abstract def executeAndWaitResult[R, Tp](task: Task[R, Tp]): R

   Executes a result task, waits for it to finish, then returns its result.

   Executes a result task, waits for it to finish, then returns its result. Forwards an exception if some task threw it.

   Definition Classes
     Tasks

4. #### abstract def parallelismLevel: Int

   Retrieves the parallelism level of the task execution environment.

   Retrieves the parallelism level of the task execution environment.

   Definition Classes
     Tasks

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from TaskSupport to any2stringadd[TaskSupport] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (TaskSupport, B)

   Implicit information
     This member is added by an implicit conversion from TaskSupport to ArrowAssoc[TaskSupport] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

7. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

8. #### def ensuring(cond: (TaskSupport) ⇒ Boolean, msg: ⇒ Any): TaskSupport

   Implicit information
     This member is added by an implicit conversion from TaskSupport to Ensuring[TaskSupport] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

9. #### def ensuring(cond: (TaskSupport) ⇒ Boolean): TaskSupport

   Implicit information
     This member is added by an implicit conversion from TaskSupport to Ensuring[TaskSupport] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

10. #### def ensuring(cond: Boolean, msg: ⇒ Any): TaskSupport

    Implicit information
      This member is added by an implicit conversion from TaskSupport to Ensuring[TaskSupport] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: Boolean): TaskSupport

    Implicit information
      This member is added by an implicit conversion from TaskSupport to Ensuring[TaskSupport] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

13. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

14. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

15. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from TaskSupport to StringFormat[TaskSupport] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

16. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

17. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

18. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

19. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

20. #### final def notify(): Unit

    Definition Classes
      AnyRef

21. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

22. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

23. #### def toParArray: ParArray[T]

    Implicit information
      This member is added by an implicit conversion from TaskSupport to CollectionsHaveToParArray[TaskSupport, T] performed by method CollectionsHaveToParArray in scala.collection.parallel. This conversion will take place only if an implicit value of type (TaskSupport) ⇒ GenTraversableOnce[T] is in scope.
    Definition Classes
      CollectionsHaveToParArray

24. #### def toString(): String

    Definition Classes
      AnyRef → Any

25. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

26. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

27. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

28. #### def →[B](y: B): (TaskSupport, B)

    Implicit information
      This member is added by an implicit conversion from TaskSupport to ArrowAssoc[TaskSupport] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Tasks

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion CollectionsHaveToParArray from TaskSupport to CollectionsHaveToParArray[TaskSupport, T]

### Inherited by implicit conversion any2stringadd from TaskSupport to any2stringadd[TaskSupport]

### Inherited by implicit conversion StringFormat from TaskSupport to StringFormat[TaskSupport]

### Inherited by implicit conversion Ensuring from TaskSupport to Ensuring[TaskSupport]

### Inherited by implicit conversion ArrowAssoc from TaskSupport to ArrowAssoc[TaskSupport]

### Ungrouped