> ## 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.

# Ejemplo de configuración de una tarea asincrónica

> Ejemplo de configuración de una tarea asincrónica

En este tema se proporciona un ejemplo de cómo configurar tareas asincrónicas. Configure un [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) para la tarea asincrónica que se va a ejecutar.
Estos bloques asincrónicos no se pueden compartir entre varias tareas asincrónicas activas.
Sin embargo, se pueden reutilizar para una tarea diferente después de que finalice la tarea original. Un
patrón simple consiste en asignar dinámicamente el bloque para cada llamada
y luego liberarlo cuando la llamada finalice en la devolución de llamada de finalización.

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

El parámetro de la devolución de llamada de finalización es el bloque asincrónico que se creó anteriormente. Esto permite acceder al contexto y convertirlo al tipo adecuado para usarlo tanto como entrada como salida, si así lo desea.

## Documentación de referencia de la API

* [XAsync (contenido de la API)](/reference/system/xasync/xasync_members)
  * Estructuras
    * [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

## Consulte también

[Información general de la biblioteca XAsync](/build/core-features/common/async/async-libraries/async-library-xasync)

[Ejecución de una tarea simple (ejemplo)](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)

[Ejecución de una tarea de la API del Microsoft Game Development Kit (GDK) (ejemplo)](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)

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