TaskSet::__construct
(PHP 8.6+, True Async 1.0)
php
public TaskSet::__construct(?int $concurrency = null, ?Async\Scope $scope = null)Erstellt ein neues Task-Set mit automatischer Bereinigung der Ergebnisse nach der Auslieferung.
Parameter
concurrency : Maximale Anzahl gleichzeitig laufender Coroutinen. null — kein Limit, alle Tasks starten sofort. Wenn das Limit erreicht ist, werden neue Tasks in eine Warteschlange eingereiht und automatisch gestartet, sobald ein Slot frei wird.
scope : Übergeordneter Scope. TaskSet erstellt einen untergeordneten Scope für seine Coroutinen. null — der aktuelle Scope wird geerbt.
Beispiele
Beispiel #1 Ohne Limits
php
<?php
use Async\TaskSet;
$set = new TaskSet();
$set->spawn(fn() => "task 1"); // startet sofort
$set->spawn(fn() => "task 2"); // startet sofort
$set->spawn(fn() => "task 3"); // startet sofortBeispiel #2 Mit Nebenläufigkeitslimit
php
<?php
use Async\TaskSet;
$set = new TaskSet(concurrency: 2);
$set->spawn(fn() => "task 1"); // startet sofort
$set->spawn(fn() => "task 2"); // startet sofort
$set->spawn(fn() => "task 3"); // wartet in der WarteschlangeSiehe auch
- TaskSet::spawn — Einen Task hinzufügen
- TaskGroup::__construct — TaskGroup-Konstruktor