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");
См. также
- Future::getCreatedFileAndLine — Место создания Future
- Future::getCreatedLocation — Место создания как строка
- Future::await — Ожидание результата