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

# Exemple de configuration d'une tâche asynchrone

> Découvrez comment allouer un XAsyncBlock, lui attribuer une file d'attente de tâches, un contexte et un rappel d'achèvement, et pourquoi un bloc ne peut pas être partagé entre des tâches asynchrones actives.

Cette rubrique fournit un exemple de configuration de tâches asynchrones. Configurez un [XAsyncBlock](https://docs.xbox.com/fr-CA/reference/system/xasync/structs/xasyncblock.md) pour la tâche asynchrone qui sera exécutée.
Ces blocs asynchrones ne peuvent pas être partagés entre plusieurs tâches asynchrones actives.
Ils peuvent toutefois être réutilisés pour une autre tâche une fois la tâche initiale terminée. Un
modèle simple consiste à allouer dynamiquement le bloc pour chaque appel,
puis à le libérer dans le rappel d'achèvement lorsque l'appel est terminé.

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

Le paramètre du rappel d'achèvement est le bloc asynchrone créé précédemment. Cela permet d'accéder au contexte et de le convertir dans le type approprié pour l'utiliser à la fois en entrée et en sortie, si vous le souhaitez.

## Documentation de référence de l'API

* [XAsync (contenu de l'API)](https://docs.xbox.com/fr-CA/reference/system/xasync/xasync_members.md)
  * Structures
    * [XAsyncBlock](https://docs.xbox.com/fr-CA/reference/system/xasync/structs/xasyncblock.md)

## Voir aussi

[Vue d'ensemble de la bibliothèque XAsync](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync.md)

[Exécuter une tâche simple (exemple)](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)

[Exécuter une tâche d'API du Microsoft Game Development Kit (GDK) (exemple)](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)

[XAsync](https://docs.xbox.com/fr-CA/reference/system/xasync/xasync_members.md)


## Related topics

- [Bibliothèques XAsync pour la programmation de tâches asynchrones](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/index.md)
- [Exemple d'exécution d'une tâche simple](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
- [Exemple de configuration d'un fournisseur personnalisé](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)
- [Conception de la file d'attente de tâches asynchrones](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-task-queue-design.md)
- [Objectifs de conception et améliorations de la programmation asynchrone](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-whitepaper.md)
