PHP Conference Japan 2024

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::start启动纤程的执行

描述

public Fiber::start(混合 ...$args): 混合

提供给构造纤程时使用的可调用对象的变长参数列表。

如果在调用此方法时纤程已经启动,则会抛出一个 FiberError

参数

args

调用传递给纤程构造函数的可调用对象时要使用的参数。

返回值

提供给第一次调用 Fiber::suspend() 的值,或者如果纤程返回则为 null。如果纤程在挂起之前抛出异常,则会从对该方法的调用中抛出该异常。

添加注释

用户贡献的笔记 1 条笔记

4
Astrid
2 年前
也许这有助于理解启动-挂起-恢复-返回循环

$fiber = new Fiber(
function($one) {
$two = Fiber::suspend($one);
$three = Fiber::suspend($two);
$four = Fiber::suspend($three);
$five = Fiber::suspend($four);
$six = Fiber::suspend($five);
return $six;
}
);

print $fiber->start(1);
print $fiber->resume(2);
print $fiber->resume(3);
print $fiber->resume(4);
print $fiber->resume(5);
print $fiber->resume(6);
print $fiber->getReturn();

//输出 123456
To Top