IJobForExtensions.ScheduleParallel
Declaration
public static Unity.Jobs.JobHandle ScheduleParallel(T jobData, int arrayLength, int innerloopBatchCount, Unity.Jobs.JobHandle dependency);Параметры
| Параметр | Описание |
|---|---|
| jobData | Задание и данные для планирования. |
| arrayLength | Метод Execute этого задания будет вызван указанное количество раз, при этом его аргумент-индекс принимает значения от 0 до (arrayLength - 1). Обычно это соответствует длине массива или похожего на массив контейнера, переданного в структуру задания, но так бывает не всегда. |
| innerloopBatchCount | Число итераций, над которыми выполняется workstealing. Например, значение 32 означает, что очередь заданий похищает 32 итерации, а затем выполняет их в эффективном внутреннем цикле. |
| зависимость | JobHandle зависимости задания. Вы можете использовать зависимости, чтобы убедиться, что задание выполняется на рабочих потоках после завершения выполнения зависимости и что два задания, чтящие или записывающие одни и те же данные, не работают параллельно. |
Возвращаемое значение
JobHandle Дескриптор JobHandle запланированного задания. JobHandle можно использовать как зависимость для последующего задания или чтобы гарантировать завершение задания в главном потоке.
Описание
Расписывает одновременное выполнение задания на нескольких рабочих потоках.
Для больших структур заданий используйте IJobForExtensions.ScheduleParallelByRef чтобы избежать любых больших значений пропускания.
Чтобы обработать все элементы цикла на одном рабочем потоке, используйте IJobForExtensions.ScheduleByRef.
Дополнительные ресурсы: IJobFor.