1
头图
PHP8.1新增
适应场景好像没多少

基础

纤程(Fiber)表示一组有完整、可中断的功能。可以在调用栈中的任何位置被挂起,在纤程内暂停执行,直到稍后恢复

<?php

$fiber = new Fiber(function () : void {
    echo 1;

    $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("未定义值")); // 方式二 使用异常唤醒

码一
11 声望0 粉丝

一句解决不了的就写两句。


« 上一篇
PHP枚举
下一篇 »
PHP命名空间