Coroutine::isSuspended
(PHP 8.6+, True Async 1.0)
public Coroutine::isSuspended(): bool
检查协程是否处于挂起状态。协程在调用 suspend() 时、进行 I/O 操作时或使用 await() 等待时会进入挂起状态。
返回值
bool – 如果协程处于挂起状态则返回 true。
示例
示例 #1 检查挂起状态
<?php
use function Async\spawn;
use function Async\suspend;
$coroutine = spawn(function() {
suspend();
return "done";
});
suspend(); // 让协程启动并挂起
var_dump($coroutine->isSuspended()); // bool(true)
var_dump($coroutine->isStarted()); // bool(true)
var_dump($coroutine->isCompleted()); // bool(false)
参见
- Coroutine::isRunning – 检查执行状态
- Coroutine::getTrace – 挂起协程的调用栈
- suspend() – 挂起当前协程