The Gallio.Common.Concurrency namespace contains types for synchronizing access to resources and managing threads and processes.

Classes

  ClassDescription
ConfigureProcessStartInfoEventArgs
An event dispatched by the ProcessTask when its ProcessStartInfo is being configured to enable customization.
LockBox<(Of <(T>)>)
A lock box object provides protected read / write access to a shared object that may be accessed concurrently by multiple threads.
ProcessCreator
Default implementation of IProcessCreator using Process.
ProcessFinder
Default implementation of IProcessFinder using Process.
ProcessTask
A process task provides support for launching external processes and collecting their output.
ProcessWrapper
Default implementation of IProcess using Process.
Sync
Provides helpers for cross-thread synchronization.
Task
A task represents a concurrently executing operation.
TaskContainer
A TaskContainer manages the lifecycle of any number of Tasks and monitors their run-time behavior.
TaskEventArgs
A task-related event.
TaskResult
Holds the value or exception produced by a task.
TaskResult<(Of <(T>)>)
Holds the value or exception produced by a task.
ThreadAbortScope
A ThreadAbortScope executes a block of code inside a special scope that is designed to issue and safely handle Abort(Object) on demand.
ThreadTask
An implementation of Task based on a locally running thread.
WorkScheduler
Schedules actions to be run in parallel up to a specified (variable) maximum number of threads.

Interfaces

  InterfaceDescription
IProcess
Wrapper for Process to allow testing.
IProcessCreator
Wraps the static process creation methods on Process to allow testing.
IProcessFinder
Wraps the static process query methods on Process to allow testing.

Delegates

  DelegateDescription
DegreeOfParallelismProvider
A function that returns the maximum number of threads that a work scheduler may use to perform work. The value may change over time and cause the scheduler to adapt to changing degrees of parallelism.
ReadAction<(Of <(T>)>)
An action that reads the contents of a protected object. It should not modify the object in any way.
ReadFunc<(Of <(T, TResult>)>)
A function that reads the contents of a protected object and produces some result. It should not modify the object in any way.
WriteAction<(Of <(T>)>)
An action that reads or writes the contents of a protected object.
WriteFunc<(Of <(T, TResult>)>)
A function that reads or writes the contents of a protected object and produces some result.