Pool::isClosed

(PHP 8.6+, True Async 1.0)

public Pool::isClosed(): bool

检查池是否已通过 close() 调用关闭。

参数

该方法不接受参数。

返回值

如果池已关闭则返回 true,如果池仍然活跃则返回 false

示例

示例 #1 检查池状态

<?php

use Async\Pool;

$pool = new Pool(
    factory: fn() => new \stdClass(),
    max: 5
);

var_dump($pool->isClosed()); // bool(false)

$pool->close();

var_dump($pool->isClosed()); // bool(true)

示例 #2 有条件地使用池

<?php

use Async\Pool;

function executeQuery(Pool $pool, string $sql): mixed
{
    if ($pool->isClosed()) {
        throw new \RuntimeException('Connection pool is closed');
    }

    $conn = $pool->acquire();

    try {
        return $conn->query($sql)->fetchAll();
    } finally {
        $pool->release($conn);
    }
}

参见