PHP8.1新增
适应场景好像没多少
基础
PHP 8.1
纤程(Fiber)表示一组有完整、可中断的功能。可以在调用栈中的任何位置被挂起,在纤程内暂停执行,直到稍后恢复
<?php
$fiber=newFiber(function () : void {
echo1;
$value=Fiber::suspend('inside'); // 挂起Fiber并向外部传值,值可以是任意类型
echo"Value used to resume fiber: ", $value, PHP_EOL;
});
$value=$fiber->start();
echo"Value from fiber supending: ", $value, PHP_EOL;
$fiber->resume(2); // 方式一 唤起Fiber并传入任意值
$fiber->throw(new\Exception("未定义值")); // 方式二 使用异常唤醒