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

# XTaskQueueDispatchMode

> XTaskQueueDispatchMode

# XTaskQueueDispatchMode

Descreve como os retornos de chamada da fila de tarefas são processados.

## Sintaxe

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

## Constantes

| Constante | Descrição |
| - | - |
| Manual | Os retornos de chamada não são expedidos automaticamente. Os retornos de chamada enviados a uma porta que usa esse modo de expedição são enfileirados, mas devem ser expedidos manualmente por [XTaskQueueDispatch](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md). **Observação:** se você tiver um thread que processa mensagens do Windows:<ul><li>Não expeça retornos de chamada para a porta de trabalho</li><li>Se você expedir retornos de chamada para a porta de conclusão, deverá continuar processando as mensagens do Windows para o thread</li></ul> Para obter mais informações, consulte [Criando uma fila de tarefas manual](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design-howto/creating-manual-task-queue.md). |
| ThreadPool | Os retornos de chamada enviados a uma porta que usa esse modo de expedição são enfileirados e expedidos automaticamente na fila de threads do sistema. A fila de tarefas executa as chamadas em paralelo, retirando por vez uma chamada da fila de tarefas para executar à medida que os threads do pool de threads ficam disponíveis. Para obter mais informações sobre como criar uma fila de tarefas de pool de threads, consulte [Criando uma fila de tarefas de pool de threads](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design-howto/creating-thread-pool-task-queue.md). |
| SerializedThreadPool | Os retornos de chamada enviados a uma porta que usa esse modo de expedição são enfileirados e expedidos automaticamente na fila de threads do sistema. Ao contrário de `ThreadPool`, a fila de tarefas executa as chamadas em série, uma de cada vez, no pool de threads. |
| Immediate | Os retornos de chamada não são enfileirados, mas executados imediatamente no thread que os enviou. Para obter um exemplo que implementa o modo de expedição imediata, consulte [Criando uma fila de tarefas composta](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design-howto/creating-composite-task-queue.md). |

## Comentários

Esta enumeração é usada por [XTaskQueueCreate](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuecreate.md) para especificar os modos de expedição das portas de trabalho e de conclusão de uma fila de tarefas.

A porta de trabalho e a porta de conclusão podem usar modos de expedição diferentes. Por exemplo, você pode usar o modo de expedição de pool de threads para a porta de trabalho, para enfileirar e executar automaticamente os retornos de chamada em paralelo na fila de threads do sistema, e usar o modo de expedição manual para a porta de conclusão, para enfileirar e executar manualmente os retornos de chamada no thread do loop de mensagens do Windows. Para obter mais informações, consulte [Usando uma fila de tarefas com um loop de mensagens do Windows](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design-howto/task-queue-windows-msg-loop.md).

## Requisitos

**Cabeçalho:** XTaskQueue.h

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Membros de XTaskQueue](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/xtaskqueue_members.md)\
[Modelo de programação assíncrona](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-programming-model.md)\
[Projetando a fila de tarefas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design.md)


## Related topics

- [XTaskQueueDispatch](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)
- [XTaskQueueCreate](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuecreate.md)
- [XTaskQueue (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/xtaskqueue_members.md)
- [Fazendo chamadas assíncronas no SDK unificado do PlayFab](https://docs.xbox.com/pt-BR/services/playfab/sdks/unified-sdk/async-model.md)
- [Fazendo chamadas assíncronas](https://docs.xbox.com/pt-BR/services/playfab/sdks/c/async.md)
