Files
XCEngine/docs/api/threading/task-group/cancel.md

1017 B

TaskGroup::Cancel

void Cancel();

取消任务组中所有尚未开始执行的任务。已经执行完成的任务和正在执行的任务不受影响。

参数:

返回:

线程安全: 线程安全

示例:

#include "XCEngine/Threading/TaskGroup.h"
#include "XCEngine/Threading/Task.h"
#include <iostream>
#include <chrono>

using namespace XCEngine::Threading;

int main() {
    TaskGroup group;

    for (int i = 0; i < 10; ++i) {
        group.AddTask([i]() {
            std::cout << "Task " << i << " executing\n";
            std::this_thread::sleep_for(std::chrono::milliseconds(100));
        });
    }

    std::this_thread::sleep_for(std::chrono::milliseconds(150));

    std::cout << "Cancelling remaining tasks...\n";
    group.Cancel();

    group.Wait();
    std::cout << "Tasks cancelled. Final progress: " << (group.GetProgress() * 100) << "%\n";

    return 0;
}

相关文档