Future::getAwaitingInfo

(PHP 8.6+, True Async 1.0)

public function getAwaitingInfo(): array

Возвращает отладочную информацию о корутинах, которые в данный момент ожидают завершения данного Future. Полезно для диагностики deadlock-ов и анализа зависимостей между корутинами.

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

array — массив с информацией об ожидающих корутинах.

Примеры

Пример #1 Получение информации об ожидающих

<?php

use Async\Future;
use Async\FutureState;

$state = new FutureState();
$future = new Future($state);

// Запускаем несколько корутин, ожидающих один Future
\Async\async(function() use ($future) {
    $future->await();
});

\Async\async(function() use ($future) {
    $future->await();
});

// Даём корутинам начать ожидание
\Async\delay(10);

$info = $future->getAwaitingInfo();
var_dump($info);
// Массив с информацией об ожидающих корутинах

$state->complete("done");

См. также