> ## 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 d'exécution d'une tâche simple

> Apprenez à lancer une tâche asynchrone personnalisée avec XAsyncRun en configurant un XAsyncBlock et un rappel de travail, puis à lire la valeur de retour avec XAsyncGetStatus.

Cette rubrique fournit un exemple d'exécution d'une tâche utilisateur simple. Les tâches simples peuvent être démarrées avec la fonction [XAsyncRun](https://docs.xbox.com/fr-CA/reference/system/xasync/functions/xasyncrun.md).
Cette fonction prend le bloc asynchrone en entrée, puis exige
l'implémentation du rappel de travail sous forme de foncteur ou de lambda en entrée. N'oubliez pas
que le bloc asynchrone spécifie la file d'attente de tâches à utiliser ainsi que le
rappel d'achèvement facultatif.

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

XAsyncRun(async,
    [](XAsyncBlock* async)->HRESULT
    {
        // The work callback is implemented here.
        return S_OK;
    });
```

Cet exemple utilise `XAsyncRun` pour démarrer une tâche asynchrone simple
et personnalisée. Le bloc asynchrone contient la file d'attente de tâches à utiliser et
le rappel d'achèvement.
`XAsyncRun` exige un rappel de travail, et
celui-ci possède une valeur de retour. Elle est retournée par la suite par un appel à
[XAsyncGetStatus](https://docs.xbox.com/fr-CA/reference/system/xasync/functions/xasyncgetstatus.md). En interne, `XAsyncRun`
dispose d'une configuration simple de fournisseur asynchrone pour gérer la mise en file d'attente du
rappel de travail spécifié, la mise en file d'attente du rappel d'achèvement du
bloc asynchrone et les autres changements d'état du processus. Cela signifie qu'aucun
code supplémentaire n'est nécessaire pour exécuter des tâches asynchrones simples : il suffit de configurer le
bloc asynchrone et d'appeler `XAsyncRun`.

## 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)
  * Fonctions
    * [XAsyncRun](https://docs.xbox.com/fr-CA/reference/system/xasync/functions/xasyncrun.md)
    * [XAsyncGetStatus](https://docs.xbox.com/fr-CA/reference/system/xasync/functions/xasyncgetstatus.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)

[Configurer une tâche asynchrone (exemple)](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-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 de configuration d'une tâche asynchrone](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task.md)
- [Modèles de contexte de PlayFab CloudScript avec Azure Functions](https://docs.xbox.com/fr-CA/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/CloudScript-af-context.md)
- [Exécuter une tâche d'API du Microsoft Game Development Kit (GDK)](https://docs.xbox.com/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
- [Performances des jeux dans les environnements à processeur hybride](https://docs.xbox.com/fr-CA/build/gdk-and-engines/guides/hybrid-cpu-performance.md)
