PHP 8.6.0 Beta 1 is available for testing

Fiber::isRunning

(PHP 8 >= 8.1.0)

Fiber::isRunningОпределяет, работает ли файбер

Описание

public function Fiber::isRunning(): bool

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Возвращает true только если файбер работает. Файбер считается работающим после вызова Fiber::start() , Fiber::resume() или Fiber::throw() , который ещё не был возвращён. Возвращает false , если файбер не работает.

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
2
booleantype1990 at gmail dot com
1 year ago
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)
+Добавить

AltStyle によって変換されたページ (->オリジナル) /