(0.8.0)
parallel\Runtime::run — Выполнение
Планирует параллельное выполнение task
.
Планирует параллельное выполнение task
, передавая argv
во время выполнения.
Замыкания, запланированные для параллельного выполнения, не должны:
В замыканиях, предназначенных для параллельного выполнения, запрещены следующие инструкции:
Замечание:
Вложенные замыкания могут использовать yield или передачу значения по ссылке, но не должны содержать объявления классов или именованных функций.
Замечание:
Никакие инструкции не запрещены в файлах, которые может включать задача.
Аргументы не должны:
Замечание:
В случае ресурсов файлового потока ресурс будет преобразован в файловый дескриптор и передан как целое число (int), где это возможно, не поддерживается в Windows.
Внутренние объекты обычно используют настраиваемую структуру, которую нельзя безопасно скопировать по значению, в PHP в настоящее время отсутствует механизм для этого (без сериализации), и поэтому могут использоваться только объекты, которые не используют настраиваемую структуру.
Некоторые внутренние объекты не используют настраиваемую структуру, например, parallel\Events\Event и поэтому могут использоваться совместно.
Замыкания - это особый вид внутреннего объекта, который поддерживает копирование по значению, поэтому может использоваться совместно.
Каналы играют ключевую роль в написании параллельного кода и при необходимости поддерживают одновременный доступ и выполнение, поэтому могут использоваться совместно.
Пользовательский класс, расширяющий внутренний класс, может использовать настраиваемую структуру, определённую внутренним классом, и в этом случае они не могут быть безопасно скопированы по значению и поэтому не могут использоваться совместно.
Нельзя игнорировать возвращаемый parallel\Future, если задача содержит оператор return или throw.
Выбрасывает parallel\Runtime\Error\Closed, если parallel\Runtime был закрыт.
Выбрасывает parallel\Runtime\Error\IllegalFunction, если task
является замыканием, созданным из внутренней функции.
Выбрасывает parallel\Runtime\Error\IllegalInstruction, если task
содержит недопустимые инструкции.
Выбрасывает parallel\Runtime\Error\IllegalParameter, если task
принимает или argv
содержит недопустимые переменные.
Выбрасывает parallel\Runtime\Error\IllegalReturn, если task
возвращается некорректно.