TaskSet::__construct
(PHP 8.6+, True Async 1.0)
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
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édiatement
Exemple #2 Avec limite de concurrence
<?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 file
Voir aussi
- TaskSet::spawn — Ajouter une tâche
- TaskGroup::__construct — Constructeur de TaskGroup