PHP Conference Kansai 2025

Fiber::isRunning

(PHP 8 >= 8.1.0)

Fiber::isRunningファイバーが実行中かどうかを調べる

説明

public Fiber::isRunning(): bool

パラメータ

この関数にはパラメータはありません。

戻り値

ファイバーが実行中の場合にのみ true を返します。 Fiber::start(), Fiber::resume(), Fiber::throw() のいずれかがコールされた (但し、Fiber::throw の場合は、まだ制御が戻っていない場合に限る) 後、 ファイバーは実行中と見なされます。 ファイバーが実行中でない場合、false を返します。

add a note

User Contributed Notes 1 note

up
0
booleantype1990 at gmail dot com
2 days 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)
To Top