Pool::activeCount

(PHP 8.6+, True Async 1.0)

public Pool::activeCount(): int

Возвращает количество ресурсов, которые в данный момент используются (были получены через acquire() или tryAcquire() и ещё не возвращены через release()).

Параметры

Метод не принимает параметров.

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

Количество используемых ресурсов.

Примеры

Пример #1 Подсчёт активных ресурсов

<?php

use Async\Pool;

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

echo $pool->activeCount() . "\n"; // 0

$r1 = $pool->acquire();
$r2 = $pool->acquire();
echo $pool->activeCount() . "\n"; // 2

$pool->release($r1);
echo $pool->activeCount() . "\n"; // 1

Пример #2 Вывод статистики пула

<?php

use Async\Pool;

function poolStats(Pool $pool): string
{
    return sprintf(
        "Пул: всего=%d, активных=%d, свободных=%d",
        $pool->count(),
        $pool->activeCount(),
        $pool->idleCount()
    );
}

См. также