Class ParallelWorkQueue
Public
Helper for parallelizing tasks.
More specifically this class is useful if the tasks need some large and slow to initialize 'scratch pad'. Using this class you can initialize a scratch pad per thread and then use the appropriate one in the task callback (which includes a thread index).
Any exception that is thrown in the worker threads will be propagated out to the caller of the Run method.
Public Methods
ParallelWorkQueue
(queue)
Public
Run
(progressTimeoutMillis)
Execute the tasks.
Public
Public Variables
action
Callback to run for each item in the queue.
Public
threadCount
Number of threads to use.
Public
Readonly
Private/Protected Members
RunTask
(threadIndex)
Private
initialCount
Private
Readonly
innerException
Private
queue
Queue of items.
Private
Readonly
waitEvents
Private