TaskGroup::seal
(PHP 8.6+, True Async 1.0)
php
public TaskGroup::seal(): void密封组。之后使用 spawn() 或 spawnWithKey() 将抛出异常。 已运行的协程和排队的任务继续执行。
重复调用不会有任何效果。
示例
示例 #1 基本用法
php
<?php
use Async\TaskGroup;
spawn(function() {
$group = new TaskGroup();
$group->spawn(fn() => "task");
$group->seal();
try {
$group->spawn(fn() => "another task");
} catch (\Async\AsyncException $e) {
echo $e->getMessage() . "\n";
// "Cannot spawn tasks on a sealed TaskGroup"
}
});参见
- TaskGroup::cancel --- 取消所有任务(隐式调用 seal)
- TaskGroup::isSealed --- 检查组是否已密封