Namespace: OtlParallel

Class Parallel

OtlParallel.Parallel

public class Parallel

Sealed
False
Abstract
False
Persistent
False

Method Summary
  public Sub ApplyConfig(taskConfig: IOmniTaskConfig ; task: OtlTaskControl.IOmniTaskControl )
Applies task configuration to a task. TaskConfig may be nil - in this case
nothing is done.
  public Sub Async(task: TProc; taskConfig: IOmniTaskConfig )
Creates an Async task.
  public Sub Async(task: OtlTask.TOmniTaskDelegate ; taskConfig: IOmniTaskConfig )
Creates an Async task.
  public function IOmniBackgroundWorker BackgroundWorker()
Creates a Background worker.
  public function TProc CompleteQueue(queue: OtlCollections.IOmniBlockingCollection )
Creates an anonymous method which calls CompleteAdding on a queue.
  public function IOmniParallelSimpleLoop For(first: integer; last: integer; step: integer)
Creates fast parallel loop without support for work stealing which
only enumerates integer ranges.
  public function IOmniParallelSimpleLoop<T> For<T>(arr: TArray<T>)
Creates fast parallel loop without support for work stealing which
only enumerates dynamic arrays.
  public function IOmniParallelLoop ForEach(enumerable: OtlCommon.IOmniValueEnumerable )
Creates parallel loop that iterates over an IOmniValueEnumerable.
  public function IOmniParallelLoop ForEach(enum: OtlCommon.IOmniValueEnumerator )
Creates parallel loop that iterates over an IOmniEnumerator.
  public function IOmniParallelLoop ForEach(enumerable: IEnumerable)
Creates parallel loop that iterates over an IEnumerable.
  public function IOmniParallelLoop ForEach(enum: IEnumerator)
Creates parallel loop that iterates with an IEnumerator.
  public function IOmniParallelLoop ForEach(source: OtlCollections.IOmniBlockingCollection )
Creates parallel loop that iterates over an IOmniBlockingCollection.
  public function IOmniParallelLoop ForEach(sourceProvider: OtlDataManager.TOmniSourceProvider )
Creates parallel loop that iterates over a TOmniSourceProvider.
  public function IOmniParallelLoop ForEach(enumerator: TEnumeratorDelegate )
Creates parallel loop that uses a TEnumeratorDelegate to produce elements.
  public function IOmniParallelLoop<integer> ForEach(first: integer; last: integer; step: integer)
Creates parallel loop that iterates over an integer range.
  public function IOmniParallelLoop ForEach(enumerable: TObject)
Creates parallel loop that iterates over a GetEnumerator implemented in the object.
  public function IOmniParallelLoop<T> ForEach<T>(enumerable: OtlCommon.IOmniValueEnumerable )
Creates parallel loop that iterates over elements of type T returned from an IOmniValueEnumerable.
  public function IOmniParallelLoop<T> ForEach<T>(enum: OtlCommon.IOmniValueEnumerator )
Creates parallel loop that iterates over elements of type T returned from an IOmniEnumerator.
  public function IOmniParallelLoop<T> ForEach<T>(enumerable: IEnumerable)
Creates parallel loop that iterates over elements of type T returned from an IEnumerable.
  public function IOmniParallelLoop<T> ForEach<T>(enum: IEnumerator)
Creates parallel loop that iterates over elements of type T returned from an IEnumerator.
  public function IOmniParallelLoop<T> ForEach<T>(enumerable: TEnumerable<T>)
Creates parallel loop that iterates over elements of type T returned from an IEnumerable<T>.
  public function IOmniParallelLoop<T> ForEach<T>(enum: TEnumerator<T>)
Creates parallel loop that iterates over elements of type T returned from an IEnumerator<T>.
  public function IOmniParallelLoop<T> ForEach<T>(source: OtlCollections.IOmniBlockingCollection )
Creates parallel loop that iterates over elements of type T returned from an IOmniBlockingCollection.
  public function IOmniParallelLoop<T> ForEach<T>(enumerator: TEnumeratorDelegate<T> )
Creates parallel loop that iterates over elements of type T returned from a TEnumeratorDelegate.
  public function IOmniParallelLoop<T> ForEach<T>(enumerable: TObject)
Creates parallel loop that iterates over elements of type T returned from a GetEnumerator implemented in the object.
  public function IOmniForkJoin ForkJoin()
Creates a Fork/Join interface.
  public function IOmniForkJoin<T> ForkJoin<T>()
Creates a Fork/Join<T> interface.
  public function IOmniFuture<T> Future<T>(action: TOmniFutureDelegate<T> ; taskConfig: IOmniTaskConfig )
Creates a Future returning <T>.
  public function IOmniFuture<T> Future<T>(action: TOmniFutureDelegateEx<T> ; taskConfig: IOmniTaskConfig )
Creates a Future returning <T>.
  public function OtlThreadPool.IOmniThreadPool GetPool(taskConfig: IOmniTaskConfig )
Returns the thread pool specified in the taskConfig parameter or
a global parallel pool if taskConfig is nil or it doesn't specify a pool.
  public function IOmniParallelJoin Join()
Creates a Join interface.
  public function IOmniParallelJoin Join(task1: TProc; task2: TProc)
Creates Join of two tasks.
  public function IOmniParallelJoin Join(task1: TOmniJoinDelegate ; task2: TOmniJoinDelegate )
Creates Join of two tasks.
  public function IOmniParallelJoin Join(tasks: array of TProc)
Creates Join of any number of tasks.
  public function IOmniParallelJoin Join(tasks: TOmniJoinDelegate )
Creates Join of any number of tasks.
  public function IOmniParallelMapper<T1,T2> Map<T1,T2>()
Creates a parallel Map mapping <T1> to <T2>.
  public function TArray<T2> Map<T1,T2>(source: TArray<T1>; mapper: TMapProc<T1,T2> )
Maps and array of <T1> to an array of <T2>.
  public function IOmniParallelTask ParallelTask()
Creates a Parallel task.
  public function IOmniPipeline Pipeline()
Creates a Pipeline interface.
  public function IOmniPipeline Pipeline(stages: TPipelineStageDelegate ; input: OtlCollections.IOmniBlockingCollection )
Creates a Pipeline from given stage delegates.
  public function IOmniPipeline Pipeline(stages: TPipelineStageDelegateEx ; input: OtlCollections.IOmniBlockingCollection )
Creates a Pipeline from given stage delegates.
  public function IOmniTaskConfig TaskConfig()
Creates Task configuration block.
  public function IOmniTimedTask TimedTask()
Creates a Timed task.
 

Method Detail

ApplyConfig

public procedure ApplyConfig(taskConfig: IOmniTaskConfig ; task: OtlTaskControl.IOmniTaskControl )
Final
False
summary
Applies task configuration to a task. TaskConfig may be nil - in this case
nothing is done.
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
True

Async

public procedure Async(task: TProc; taskConfig: IOmniTaskConfig )
Final
False
summary
Creates an Async task.
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
True

Async

public procedure Async(task: OtlTask.TOmniTaskDelegate ; taskConfig: IOmniTaskConfig )
Final
False
summary
Creates an Async task.
Reintroduce
False
Abstract
False
Override
False
Virtual
False
Class
True

BackgroundWorker

public function BackgroundWorker(): IOmniBackgroundWorker 
Final
False
summary
Creates a Background worker.
Reintroduce
False
Abstract
False
Returns
IOmniBackgroundWorker
Override
False
Virtual
False
Class
True

CompleteQueue

public function CompleteQueue(queue: OtlCollections.IOmniBlockingCollection ): TProc
Final
False
summary
Creates an anonymous method which calls CompleteAdding on a queue.
Reintroduce
False
Abstract
False
Returns
TProc
Override
False
Virtual
False
Class
True

For

public function For(first: integer; last: integer; step: integer): IOmniParallelSimpleLoop 
Final
False
summary
Creates fast parallel loop without support for work stealing which
only enumerates integer ranges.
Reintroduce
False
Abstract
False
Returns
IOmniParallelSimpleLoop
Override
False
Virtual
False
Class
True

For

public function For<T>(arr: TArray<T>): IOmniParallelSimpleLoop<T> 
Generic Parameters
T
Final
False
summary
Creates fast parallel loop without support for work stealing which
only enumerates dynamic arrays.
Reintroduce
False
Abstract
False
Returns
IOmniParallelSimpleLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enumerable: OtlCommon.IOmniValueEnumerable ): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over an IOmniValueEnumerable.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enum: OtlCommon.IOmniValueEnumerator ): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over an IOmniEnumerator.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enumerable: IEnumerable): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over an IEnumerable.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enum: IEnumerator): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates with an IEnumerator.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(source: OtlCollections.IOmniBlockingCollection ): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over an IOmniBlockingCollection.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(sourceProvider: OtlDataManager.TOmniSourceProvider ): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over a TOmniSourceProvider.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enumerator: TEnumeratorDelegate ): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that uses a TEnumeratorDelegate to produce elements.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(first: integer; last: integer; step: integer): IOmniParallelLoop<integer>
Final
False
summary
Creates parallel loop that iterates over an integer range.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<integer>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach(enumerable: TObject): IOmniParallelLoop 
Final
False
summary
Creates parallel loop that iterates over a GetEnumerator implemented in the object.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enumerable: OtlCommon.IOmniValueEnumerable ): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IOmniValueEnumerable.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enum: OtlCommon.IOmniValueEnumerator ): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IOmniEnumerator.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enumerable: IEnumerable): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IEnumerable.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enum: IEnumerator): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IEnumerator.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enumerable: TEnumerable<T>): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IEnumerable<T>.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enum: TEnumerator<T>): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IEnumerator<T>.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(source: OtlCollections.IOmniBlockingCollection ): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from an IOmniBlockingCollection.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enumerator: TEnumeratorDelegate<T> ): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from a TEnumeratorDelegate.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForEach

public function ForEach<T>(enumerable: TObject): IOmniParallelLoop<T> 
Generic Parameters
T
Final
False
summary
Creates parallel loop that iterates over elements of type T returned from a GetEnumerator implemented in the object.
Reintroduce
False
Abstract
False
Returns
IOmniParallelLoop<T>
Override
False
Virtual
False
Class
True

ForkJoin

public function ForkJoin(): IOmniForkJoin 
Final
False
summary
Creates a Fork/Join interface.
Reintroduce
False
Abstract
False
Returns
IOmniForkJoin
Override
False
Virtual
False
Class
True

ForkJoin

public function ForkJoin<T>(): IOmniForkJoin<T> 
Generic Parameters
T
Final
False
summary
Creates a Fork/Join<T> interface.
Reintroduce
False
Abstract
False
Returns
IOmniForkJoin<T>
Override
False
Virtual
False
Class
True

Future

public function Future<T>(action: TOmniFutureDelegate<T> ; taskConfig: IOmniTaskConfig ): IOmniFuture<T> 
Generic Parameters
T
Final
False
summary
Creates a Future returning <T>.
Reintroduce
False
Abstract
False
Returns
IOmniFuture<T>
Override
False
Virtual
False
Class
True

Future

public function Future<T>(action: TOmniFutureDelegateEx<T> ; taskConfig: IOmniTaskConfig ): IOmniFuture<T> 
Generic Parameters
T
Final
False
summary
Creates a Future returning <T>.
Reintroduce
False
Abstract
False
Returns
IOmniFuture<T>
Override
False
Virtual
False
Class
True

GetPool

public function GetPool(taskConfig: IOmniTaskConfig ): OtlThreadPool.IOmniThreadPool 
Final
False
summary
Returns the thread pool specified in the taskConfig parameter or
a global parallel pool if taskConfig is nil or it doesn't specify a pool.
Reintroduce
False
Abstract
False
Returns
IOmniThreadPool
Override
False
Virtual
False
Class
True

Join

public function Join(): IOmniParallelJoin 
Final
False
summary
Creates a Join interface.
Reintroduce
False
Abstract
False
Returns
IOmniParallelJoin
Override
False
Virtual
False
Class
True

Join

public function Join(task1: TProc; task2: TProc): IOmniParallelJoin 
Final
False
summary
Creates Join of two tasks.
Reintroduce
False
Abstract
False
Returns
IOmniParallelJoin
Override
False
Virtual
False
Class
True

Join

public function Join(task1: TOmniJoinDelegate ; task2: TOmniJoinDelegate ): IOmniParallelJoin 
Final
False
summary
Creates Join of two tasks.
Reintroduce
False
Abstract
False
Returns
IOmniParallelJoin
Override
False
Virtual
False
Class
True

Join

public function Join(tasks: array of TProc): IOmniParallelJoin 
Final
False
summary
Creates Join of any number of tasks.
Reintroduce
False
Abstract
False
Returns
IOmniParallelJoin
Override
False
Virtual
False
Class
True

Join

public function Join(tasks: TOmniJoinDelegate ): IOmniParallelJoin 
Final
False
summary
Creates Join of any number of tasks.
Reintroduce
False
Abstract
False
Returns
IOmniParallelJoin
Override
False
Virtual
False
Class
True

Map

public function Map<T1,T2>(): IOmniParallelMapper<T1,T2> 
Generic Parameters
T1,T2
Final
False
summary
Creates a parallel Map mapping <T1> to <T2>.
Reintroduce
False
Abstract
False
Returns
IOmniParallelMapper<T1,T2>
Override
False
Virtual
False
Class
True

Map

public function Map<T1,T2>(source: TArray<T1>; mapper: TMapProc<T1,T2> ): TArray<T2>
Generic Parameters
T1,T2
Final
False
summary
Maps and array of <T1> to an array of <T2>.
Reintroduce
False
Abstract
False
Returns
TArray<T2>
Override
False
Virtual
False
Class
True

ParallelTask

public function ParallelTask(): IOmniParallelTask 
Final
False
summary
Creates a Parallel task.
Reintroduce
False
Abstract
False
Returns
IOmniParallelTask
Override
False
Virtual
False
Class
True

Pipeline

public function Pipeline(): IOmniPipeline 
Final
False
summary
Creates a Pipeline interface.
Reintroduce
False
Abstract
False
Returns
IOmniPipeline
Override
False
Virtual
False
Class
True

Pipeline

public function Pipeline(stages: TPipelineStageDelegate ; input: OtlCollections.IOmniBlockingCollection ): IOmniPipeline 
Final
False
summary
Creates a Pipeline from given stage delegates.
Reintroduce
False
Abstract
False
Returns
IOmniPipeline
Override
False
Virtual
False
Class
True

Pipeline

public function Pipeline(stages: TPipelineStageDelegateEx ; input: OtlCollections.IOmniBlockingCollection ): IOmniPipeline 
Final
False
summary
Creates a Pipeline from given stage delegates.
Reintroduce
False
Abstract
False
Returns
IOmniPipeline
Override
False
Virtual
False
Class
True

TaskConfig

public function TaskConfig(): IOmniTaskConfig 
Final
False
summary
Creates Task configuration block.
Reintroduce
False
Abstract
False
Returns
IOmniTaskConfig
Override
False
Virtual
False
Class
True

TimedTask

public function TimedTask(): IOmniTimedTask 
Final
False
summary
Creates a Timed task.
Reintroduce
False
Abstract
False
Returns
IOmniTimedTask
Override
False
Virtual
False
Class
True