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