设置异步任务示例

本主题提供有关如何设置异步任务的示例。 为要运行的异步任务设置 XAsyncBlock。 无法在多个活动的异步任务之间共享这些异步块。 但是,可以在原始任务完成后将它们重用于其他任务。 一个简单的模式是仅为每个调用动态分配该块,然后在完成回调中的调用完成后释放该块。

XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback = 
    [](XAsyncBlock* async)
    {
        // The optional completion callback.
        delete async;
    }

完成回调的参数是先前创建的异步块。 这允许访问上下文并将其强制转换为适当的类型,以便用于输入和输出(如果你希望如此)。

另请参阅

XAsync 库概述

运行简单任务(示例)

运行 Microsoft 游戏开发工具包 (GDK) API 任务(示例)

XAsync