Оператор NEWEXECUTOR
Оператор NEWEXECUTOR - создание действия, позволяющего выполнение других действий в новом пуле потоков.
Синтаксис
NEWEXECUTOR action THREADS threadExpr [syncType]
Описание
Оператор NEWEXECUTOR создает действие, которое создает новый пул потоков и выполняет заданное действие таким образом, что любое действие внутри этого действия, созданное с помощью оператора NEWTHREAD, будет выполняться в одном из потоков созданного пула.
Параметры
-
actionКонтекстно-зависимый оператор-действие, описывающий действие, которое будет выполнено.
-
threadExprВыражение, значение которого определяет количество потоков в пуле. Должно возвращать значение класса
INTEGER. -
syncTypeТип синхронизации. Определяет, когда завершается выполнение
NEWEXECUTOR, позволяя выбрать между синхронным и асинхронным подходами. Задается одним из ключевых слов:WAIT- после завершения выполнения всех потоков. Это значение используется по умолчанию.NOWAIT- сразу после запуска всех потоков.
Примеры
testExecutor {
NEWEXECUTOR {
FOR id(Sku s) DO {
NEWTHREAD {
NEWSESSION {
name(s) <- STRING[20](id(s)); // записываем в наименование код в 10 потоков
APPLY;
}
}
}
} THREADS 10 NOWAIT;
}