TaskSet::__construct
(PHP 8.6+, True Async 1.0)
php
public TaskSet::__construct(?int $concurrency = null, ?Async\Scope $scope = null)Crée un nouvel ensemble de tâches avec nettoyage automatique des résultats après livraison.
Paramètres
concurrency : Nombre maximum de coroutines s'exécutant simultanément. null — aucune limite, toutes les tâches démarrent immédiatement. Lorsque la limite est atteinte, les nouvelles tâches sont placées dans une file d'attente et démarrées automatiquement lorsqu'un emplacement se libère.
scope : Scope parent. TaskSet crée un scope enfant pour ses coroutines. null — le scope courant est hérité.
Exemples
Exemple #1 Sans limite
php
<?php
use Async\TaskSet;
$set = new TaskSet();
$set->spawn(fn() => "task 1"); // démarre immédiatement
$set->spawn(fn() => "task 2"); // démarre immédiatement
$set->spawn(fn() => "task 3"); // démarre immédiatementExemple #2 Avec limite de concurrence
php
<?php
use Async\TaskSet;
$set = new TaskSet(concurrency: 2);
$set->spawn(fn() => "task 1"); // démarre immédiatement
$set->spawn(fn() => "task 2"); // démarre immédiatement
$set->spawn(fn() => "task 3"); // attend dans la fileVoir aussi
- TaskSet::spawn — Ajouter une tâche
- TaskGroup::__construct — Constructeur de TaskGroup