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

# XTaskQueueDispatchMode

> XTaskQueueDispatchMode

# XTaskQueueDispatchMode

Décrit comment les rappels de la file d'attente de tâches sont traités.

## Syntaxe

```cpp theme={null}
typedef enum class XTaskQueueDispatchMode  : uint32_t  
{  
    Manual,  
    ThreadPool,  
    SerializedThreadPool,  
    Immediate  
} XTaskQueueDispatchMode  
```

## Constantes

| Constante | Description |
| - | - |
| Manual | Les rappels ne sont pas distribués automatiquement. Les rappels soumis à un port utilisant ce mode de distribution sont mis en file d'attente, mais doivent être distribués manuellement par [XTaskQueueDispatch](/fr/reference/system/xtaskqueue/functions/xtaskqueuedispatch).<br />**Remarque :** si vous disposez d'un thread qui traite les messages Windows :<ul><li>Ne distribuez pas les rappels pour le port de travail</li><li>Si vous distribuez les rappels pour le port d'achèvement, vous devez continuer à traiter les messages Windows pour le thread</li></ul><br />Pour plus d'informations, consultez [Création d'une file d'attente de tâches manuelle](/fr/build/core-features/common/async/async-task-queue-design-howto/creating-manual-task-queue). |
| ThreadPool | Les rappels soumis à un port utilisant ce mode de distribution sont mis en file d'attente et distribués automatiquement sur la file d'attente des threads système. La file d'attente de tâches exécute les appels en parallèle, en prenant à tour de rôle un appel à exécuter dans la file d'attente de tâches à mesure que des threads du pool de threads deviennent disponibles.<br />Pour plus d'informations sur la création d'une file d'attente de tâches de pool de threads, consultez [Création d'une file d'attente de tâches de pool de threads](/fr/build/core-features/common/async/async-task-queue-design-howto/creating-thread-pool-task-queue). |
| SerializedThreadPool | Les rappels soumis à un port utilisant ce mode de distribution sont mis en file d'attente et distribués automatiquement sur la file d'attente des threads système. Contrairement à `ThreadPool`, la file d'attente de tâches exécute les appels en série, un à la fois, sur le pool de threads. |
| Immediate | Les rappels ne sont pas du tout mis en file d'attente, mais sont exécutés immédiatement sur le thread qui les a soumis. Pour obtenir un exemple qui implémente le mode de distribution immédiat, consultez [Création d'une file d'attente de tâches composite](/fr/build/core-features/common/async/async-task-queue-design-howto/creating-composite-task-queue). |

## Remarques

Cette énumération est utilisée par [XTaskQueueCreate](/fr/reference/system/xtaskqueue/functions/xtaskqueuecreate) pour spécifier les modes de distribution des ports de travail et d'achèvement d'une file d'attente de tâches.

Le port de travail et le port d'achèvement peuvent utiliser des modes de distribution différents. Par exemple, vous pouvez utiliser le mode de distribution de pool de threads pour le port de travail afin de mettre en file d'attente et d'exécuter automatiquement les rappels en parallèle sur la file d'attente des threads système, et utiliser le mode de distribution manuel pour le port d'achèvement afin de mettre en file d'attente et d'exécuter manuellement les rappels sur le thread de la boucle de messages Windows. Pour plus d'informations, consultez [Utilisation d'une file d'attente de tâches avec une boucle de messages Windows](/fr/build/core-features/common/async/async-task-queue-design-howto/task-queue-windows-msg-loop).

## Configuration requise

**En-tête :** XTaskQueue.h

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Membres XTaskQueue](/fr/reference/system/xtaskqueue/xtaskqueue_members)\
[Modèle de programmation asynchrone](/fr/build/core-features/common/async/async-programming-model)\
[Conception de la file d'attente de tâches asynchrones](/fr/build/core-features/common/async/async-task-queue-design)


## Related topics

- [XTaskQueueDispatchMode](/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode.md)
- [XTaskQueueDispatch](/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)
- [XTaskQueueCreate](/reference/system/xtaskqueue/functions/xtaskqueuecreate.md)
