在线工具 | 热点资讯 | 网站目录 | 简繁转换 | 英语单词
查询

Fiber::start()函数—用法及示例

「 启动一个协程 」


函数名:Fiber::start()

适用版本:PHP 8.1.0 及以上

函数说明:Fiber::start() 方法用于启动一个协程。

用法:

  1. 创建一个协程对象:

    $fiber = new Fiber(function () {
        // 协程逻辑
    });
    
  2. 启动协程:

    $fiber->start();
    

示例:

$fiber = new Fiber(function () {
   echo "Start fiber\n";
   Fiber::yield(); // 暂停协程执行
   echo "Resume fiber\n";
   Fiber::yield(); // 暂停协程执行
   echo "End fiber\n";
});

$fiber->start(); // 启动协程
echo "Main\n";
$fiber->resume(); // 恢复协程执行
echo "Main\n";
$fiber->resume(); // 恢复协程执行

输出结果:

Start fiber
Main
Resume fiber
Main
End fiber

注意事项:

  • Fiber::start() 方法只能在协程上下文中调用,否则会抛出异常。
  • 在协程中使用 Fiber::yield() 方法可以暂停协程的执行,并将控制权返回给调用者。
  • 启动协程后,可以使用 Fiber::resume() 方法来恢复协程的执行。
  • 协程的执行顺序可以由程序员控制,可以在任意时刻暂停和恢复协程的执行。
补充纠错
上一个函数: Fiber::suspend()函数
下一个函数: Fiber::resume()函数
热门PHP函数
分享链接