English | 简体中文 | 繁體中文
查询

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

「 检查一个协程是否已经开始执行 」


函数名:Fiber::isStarted()

适用版本:PHP 8.1.0 及以上版本

用法:Fiber::isStarted() 函数用于检查一个协程是否已经开始执行。

示例:

function myCoroutine() {
    echo "Coroutine started\n";
    Fiber::yield();
    echo "Coroutine resumed\n";
}

$fiber = new Fiber('myCoroutine');
echo "Is fiber started? " . (Fiber::isStarted($fiber) ? "Yes" : "No") . "\n"; // 输出: Is fiber started? No

$fiber->start();
echo "Is fiber started? " . (Fiber::isStarted($fiber) ? "Yes" : "No") . "\n"; // 输出: Is fiber started? Yes

$fiber->resume();

在上面的示例中,首先创建了一个名为 myCoroutine 的协程函数。然后,通过 new Fiber('myCoroutine') 创建了一个 Fiber 对象,并将其赋值给变量 $fiber。接着,通过调用 Fiber::isStarted($fiber) 检查协程是否已经开始执行,此时返回值为 false,因为协程还未开始。然后,通过调用 $fiber->start() 启动协程,再次调用 Fiber::isStarted($fiber) 检查协程是否已经开始执行,此时返回值为 true,因为协程已经开始执行。

请注意,Fiber 类是在 PHP 8.1.0 版本中引入的,因此在较旧的 PHP 版本中无法使用该函数。

补充纠错
上一个函数: Fiber::isSuspended()函数
下一个函数: FilterIterator::accept()函数
热门PHP函数
分享链接