PHP Conference Japan 2024

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::start開始執行纖程

說明

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

要提供給建構纖程時使用的可呼叫物件的變數參數列表。

如果在呼叫此方法時纖程已經啟動,則會拋出 FiberError

參數

args

呼叫給纖程建構函式的可呼叫物件時要使用的參數。

回傳值

傳遞給第一次呼叫 Fiber::suspend() 的值,或者如果 fiber 返回則為 null。如果 fiber 在暫停之前拋出異常,則該異常將從對此方法的呼叫中拋出。

新增註釋

使用者貢獻的註釋 1 則註釋

Astrid
2 年前
也許這有助於您理解 start-suspend-resume-return 循環

$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