(PHP 8 >= 8.1.0)
Fiber::isRunning — Détermine si la fibre est en cours d'exécution
Cette fonction ne contient aucun paramètre.
Retourne true seulement si la fibre est en cours d'exécution. Une fibre est considérée comme étant en cours d'exécution après un appel à
Fiber::start() , Fiber::resume() , ou
Fiber::throw() qui n'est pas encore retourné.
Retourne false si la fibre n'est pas en cours d'exécution.
Fiber::isRunning() will only return true if you call it from within a Fiber while it is running.
<?php
$fiber = new Fiber(function ($fiber) {
echo "Inside Fiber. isRunning: ";
var_dump($fiber->isRunning()); // Here is true
Fiber::suspend();
echo "Inside Fiber again after resume(). isRunning: ";
var_dump($fiber->isRunning()); // true again
});
echo "Before Fiber launch. isRunning: ";
var_dump($fiber->isRunning()); // Here is false
$fiber->start($fiber);
echo "After suspend. isRunning: ";
var_dump($fiber->isRunning()); // Here is false
$fiber->resume();
echo "After resume. isRunning: ";
var_dump($fiber->isRunning()); // Here is false
?>
Result:
Before Fiber launch. isRunning: bool(false)
Inside Fiber. isRunning: bool(true)
After suspend. isRunning: bool(false)
Inside Fiber again after resume(). isRunning: bool(true)
After resume. isRunning: bool(false)