# AbstractProcess class

Namespace: [Grasshopper2.Parallel](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.parallel.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class AbstractProcess
```

Abstract base class for all parallel process implementations. Do not derive from this class, instead use one of the generic re-implementations.

**Derived types:** [ParallelProcess<T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-1.md), [ParallelProcess<TResult, T1, T2, T3>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-4.md), [ParallelProcess<TResult, T1, T2>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-3.md), [ParallelProcess<TResult, T1>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.parallelprocess-2.md)

## Properties

- [CountOverride](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.abstractprocess/countoverride.md): Gets or sets the number of iterations to process. If the override is negative, the size of the longest input array determines the count.
- [RunSingleThreaded](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.abstractprocess/runsinglethreaded.md): Gets whether this process is supposed to run in single threaded mode.
- [ThreadCount](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.abstractprocess/threadcount.md): Gets or sets the maximum degrees of parallelism for this process. Leave the value at a negative number to revert to default.

## Methods

- [CreateOptions](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parallel.abstractprocess/createoptions.md)
