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

# Exemplo de despacho da fila de tarefas

> Mostra como criar um thread dedicado que chama XTaskQueueDispatch na porta de conclusão em um loop, para que os retornos de chamada sejam executados até a fila de tarefas ser encerrada.

Este tópico fornece um exemplo de como despachar uma fila de tarefas. O despacho de uma fila de tarefas é necessário para cada porta [manual](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode.md). Como e
quando as portas são [despachadas](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md) determina o comportamento de threads e de
simultaneidade dos retornos de chamada enfileirados.

```c++ theme={null}
std::thread dispatherThread = std::thread(
    [taskQueue]()
    {
        while (true)
        {
            bool processed = XTaskQueueDispatch(taskQueue,
                XTaskQueuePort::Completion, INFINITE);

            if (!processed)
            {
                // The task queue has been terminated, so return.
                break;
            }
        }
    });
```

Este exemplo mostra um thread extra sendo criado para despachar constantemente
a porta de conclusão da fila de tarefas passada até que ela seja
encerrada.

## Documentação de referência da API

* [XTaskQueue (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/xtaskqueue_members.md)
  * Funções
    * [xtaskqueuedispatch](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)

## Consulte também

[Visão geral da biblioteca XTaskQueue](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)

[Criar fila de tarefas (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue.md)

[Limpar fila de tarefas (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)

[Projetando a fila de tarefas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design.md)

[XTaskQueue](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/xtaskqueue_members.md)


## Related topics

- [Bibliotecas XAsync para programação de tarefas assíncronas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/index.md)
- [Exemplo de limpeza da fila de tarefas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)
- [Como: Criar 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)
- [Design da fila de tarefas assíncronas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-task-queue-design.md)
- [Exemplo de criação de fila de tarefas](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue.md)
