PHP纤程

2022-06-05  本文已影响0人  码一

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

猜你喜欢

热点阅读