TaskSet::close

(PHP 8.6+, True Async 1.0)

php
public TaskSet::close(): void

关闭任务集合。此后 spawn()spawnWithKey() 都会抛出异常。 已经在跑的协程和排队中的任务继续执行。

重复调用是 no-op。

示例

示例 #1 基本用法

php
<?php

use Async\TaskSet;

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

    $set->spawn(fn() => "task");
    $set->close();

    try {
        $set->spawn(fn() => "another task");
    } catch (\Async\AsyncException $e) {
        echo $e->getMessage() . "\n";
        // "Cannot spawn tasks on a closed TaskGroup"
    }
});

参见