TaskSet::count

(PHP 8.6+, True Async 1.0)

public TaskSet::count(): int

Gibt die Anzahl der Tasks zurück, die noch nicht an den Konsumenten ausgeliefert wurden.

Im Gegensatz zu TaskGroup::count(), das die Gesamtanzahl der Tasks zurückgibt, verringert sich TaskSet::count() mit jeder Ergebnisauslieferung über joinNext(), joinAny(), joinAll() oder foreach.

TaskSet implementiert Countable, sodass count($set) verwendet werden kann.

Rückgabewert

Die Anzahl der Tasks im Set.

Beispiele

Beispiel #1 Fortschritt verfolgen

<?php

use Async\TaskSet;

spawn(function() {
    $set = new TaskSet();

    $set->spawn(fn() => "a");
    $set->spawn(fn() => "b");
    $set->spawn(fn() => "c");

    echo $set->count() . "\n"; // 3

    $set->joinNext()->await();
    echo $set->count() . "\n"; // 2

    $set->joinNext()->await();
    echo $set->count() . "\n"; // 1

    $set->joinNext()->await();
    echo $set->count() . "\n"; // 0
});

Siehe auch