# IJobParallelForExtensions

> Contains extension methods for jobs implementing the IJobParallelFor interface.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Jobs](/engine/6000.6/script-reference/unity/jobs.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static class IJobParallelForExtensions
```

## Remarks

The methods in this extension class add an instance of a job to the work queue, while [IJobParallelFor.Execute](/engine/6000.6/script-reference/unity/jobs/ijobparallelfor/execute.md) defines how to perform an asynchronous task. Use [IJobParallelForExtensions.ScheduleByRef](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/schedulebyref.md) to request asynchronous execution, or [IJobParallelForExtensions.RunByRef](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/runbyref.md) to execute the job immediately on the main thread.

Additional Resources: [IJobFor](/engine/6000.6/script-reference/unity/jobs/ijobfor.md).

## Examples

```csharp
{code Tests/EditModeAndPlayModeTests/Jobs/Assets/DocumentationExamples/ManagedJobDocExamples.cs#ijobparallelfor-apidocs-example}
```

## Static Methods

| Method                                                                                                 | Description                                                                                  |
| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| [EarlyJobInit](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/earlyjobinit.md)   | Gathers and caches reflection data for the internal job system's managed bindings.           |
| [Run](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/run.md)                     | Performs the job's Execute method immediately on the same thread.                            |
| [RunByRef](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/runbyref.md)           | Performs the job's Execute method immediately on the same thread.                            |
| [Schedule](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/schedule.md)           | Schedules the job to execute concurrently on multiple worker threads.                        |
| [ScheduleByRef](/engine/6000.6/script-reference/unity/jobs/ijobparallelforextensions/schedulebyref.md) | Schedules the job to execute concurrently, distributing work across multiple worker threads. |
