> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 设置异步任务示例

> 设置异步任务示例

本主题提供了一个如何设置异步任务的示例。为将要运行的异步任务设置一个 [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)。
这些异步块不能在多个活动的异步任务之间共享。
但是，在原任务完成之后，它们可以重用于其他任务。一个简单的模式是每次调用时动态分配一个异步块，然后在完成回调中调用结束后释放它。

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

完成回调的参数是先前创建的异步块。如果你愿意，这样可以访问上下文并将其转换为适当的类型，以用作输入和输出。

## 参考 API 文档

* [XAsync (API 内容)](/reference/system/xasync/xasync_members)
  * 结构体
    * [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

## 另请参阅

[XAsync 库概述](/build/core-features/common/async/async-libraries/async-library-xasync)

[运行简单任务（示例）](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)

[运行 Microsoft Game Development Kit (GDK) API 任务（示例）](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)

[XAsync](/reference/system/xasync/xasync_members)


## Related topics

- [用于异步任务编程的 XAsync 库](/zh-CN/build/core-features/common/async/async-libraries/index.md)
- [运行简单任务示例](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
- [运行 Microsoft Game Development Kit API 任务示例](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
- [通用异步任务包装器](/zh-CN/build/core-features/common/async/async-task-function-example.md)
- [XAsync 库概述](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync.md)
