(0.8.0)
parallel\Runtime::run — 执行
应将 task
调度到并行执行。
应将 task
调度到并行执行,在执行时传递 argv
。
计划并行执行的闭包不得
禁止在用于并行执行的闭包中使用的指令为
注意:
嵌套闭包可以 yield 或按引用使用,但不得包含类或命名函数声明。
注意:
任务可能包含的文件中没有指令被禁止。
内部对象通常使用无法安全地按值复制的自定义结构,PHP 目前缺乏执行此操作的机制(无需序列化),因此只有不使用自定义结构的对象才能共享。
某些内部对象不使用自定义结构,例如 parallel\Events\Event,因此可以共享。
闭包是一种特殊的内部对象,支持按值复制,因此可以共享。
通道是编写并行代码的核心,支持并发访问和执行,因此可以共享。
扩展内部类的用户类可以使用内部类定义的自定义结构,在这种情况下,它们不能安全地按值复制,因此不能共享。
当任务包含 return 或 throw 语句时,不得忽略返回的 parallel\Future。
如果 parallel\Runtime 已关闭,则应抛出 parallel\Runtime\Error\Closed。
如果 task
是从内部函数创建的闭包,则应抛出 parallel\Runtime\Error\IllegalFunction。
如果 task
包含非法指令,则应抛出 parallel\Runtime\Error\IllegalInstruction。
如果 task
接受或 argv
包含非法变量,则应抛出 parallel\Runtime\Error\IllegalParameter。
如果 task
非法返回,则应抛出 parallel\Runtime\Error\IllegalReturn。