parallel\Runtime::run
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
parallel\Runtime::run
Референца за `parallel-runtime.run.php` со подобрена типографија и навигација.
parallel\Runtime::run
(0.8.0)
parallel\Runtime::run — Извршување
= NULL
Ќе закаже task ќе се распоредат
Ќе закаже task за извршување паралелно. argv за извршување паралелно, поминувајќи
Параметри
на аргументи со специфични карактеристики што треба да се поминат на
Карактеристики на задачи
- Затворањата распоредени за паралелно извршување не смеат:
- прифаќаат или враќаат преку референца
- прифаќаат или враќаат внатрешни објекти (види белешки)
извршуваат ограничен сет на инструкции
- yield
- користи по референца
- декларирај класа
- декларирај именувана функција
Забелешка: Вгнездени затворачи може да дадат или користат по референца, но не смеат да содржат декларации за класи или именувани функции.
Забелешка: Ниту една инструкција не е забранета во датотеките што може да ги вклучува задачата.
Инструкциите забранети во затворањата наменети за паралелно извршување се:
Карактеристики на аргументи
- Аргументите не смеат:
- да содржат референци
- да содржат ресурси
Забелешка: да содржат внатрешни објекти (види белешки) int Во случај на ресурси од стрим на датотеки, ресурсот ќе биде префрлен на дескрипторот на датотеката и ќе биде поминат како
каде што е можно, ова не е поддржано на Windows.
Внатрешните објекти генерално користат прилагодена структура што не може безбедно да се копира по вредност, PHP моментално нема механизми за ова (без серијализација) и затоа само објекти што не користат прилагодена структура може да се споделат.
Некои внатрешни објекти не користат прилагодена структура, на пример parallel\Events\Event и затоа може да се споделат.
Затворањата се посебен вид внатрешен објект и поддржуваат копирање по вредност, и затоа може да се споделат.
Каналите се централни за пишување паралелен код и поддржуваат истовремен пристап и извршување по потреба, и затоа може да се споделат.
Корисничка класа што наследува внатрешна класа може да користи прилагодена структура како што е дефинирана од внатрешната класа, во кој случај тие не можат безбедно да се копираат по вредност, и затоа не може да се споделат.
Вратени вредности
Враќањето parallel\Future не смее да се игнорира кога задачата содржи изјава за враќање или фрлање.
Исклучоци
Тековната Дефиниција parallel\Runtime\Error\Closed if parallel\Runtime беше затворено.
Тековната Дефиниција parallel\Runtime\Error\IllegalFunction if task е затворање создадено од внатрешна функција.
Тековната Дефиниција parallel\Runtime\Error\IllegalInstruction if task содржи недозволени инструкции.
Тековната Дефиниција parallel\Runtime\Error\IllegalParameter if task прифаќа или argv содржи недозволени променливи.
Тековната Дефиниција parallel\Runtime\Error\IllegalReturn if task враќа недозволено.