# Grasshopper2.Parallel namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Classes

- [AbstractProcess](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.abstractprocess.md): Abstract base class for all parallel process implementations. Do not derive from this class, instead use one of the generic re-implementations.
- [ParallelBudget](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelbudget.md): Thread count utility for balancing thread usage involving nested loops that are all participating in the threadpool. Components which run multithreaded code within their iterated Process() methods should try and use the threading tools in this class lest they explode the thread usage.
- [ParallelPerformanceControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelperformancecontrol.md)
- [ParallelPerformanceTracker](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelperformancetracker.md): A utility class for tracking performance under various degrees of parallelism.
- [ParallelProcess<T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-1.md): Represents an optimized parallel loop for one input array and no output.
- [ParallelProcess<TResult, T1, T2, T3>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-4.md): Represents an optimized parallel loop for three input arrays.
- [ParallelProcess<TResult, T1, T2>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-3.md): Represents an optimized parallel loop for two input arrays.
- [ParallelProcess<TResult, T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-2.md): Represents an optimized parallel loop for one input array.
