TaskGroup::seal

(PHP 8.6+, True Async 1.0)

public TaskGroup::seal(): void

Versiegelt die Gruppe. Jeder Versuch, spawn() oder spawnWithKey() zu verwenden, wirft eine Ausnahme. Bereits laufende Coroutinen und Aufgaben in der Warteschlange werden weiter ausgefuehrt.

Wiederholte Aufrufe sind ein No-Op.

Beispiele

Beispiel #1 Grundlegende Verwendung

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawn(fn() => "Aufgabe");
    $group->seal();

    try {
        $group->spawn(fn() => "weitere Aufgabe");
    } catch (\Async\AsyncException $e) {
        echo $e->getMessage() . "\n";
        // "Cannot spawn tasks on a sealed TaskGroup"
    }
});

Siehe auch