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

# Dispatch task queue example

> Dispatch task queue example

This topic provides an example of how to dispatch a task queue. Dispatching a task queue is necessary for each [manual](/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode) port. How and
when the ports are [dispatched](/reference/system/xtaskqueue/functions/xtaskqueuedispatch) determines the threaded and
concurrent behavior of the enqueued callbacks.

```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;
            }
        }
    });
```

This example shows an extra thread being spawned to constantly dispatch
the completion port of the passed-in task queue until it's
terminated.

## Reference API documentation

* [XTaskQueue (API contents)](/reference/system/xtaskqueue/xtaskqueue_members)
  * Functions
    * [xtaskqueuedispatch](/reference/system/xtaskqueue/functions/xtaskqueuedispatch)

## See also

[XTaskQueue library overview](/build/core-features/common/async/async-libraries/async-library-xtaskqueue)

[Create task queue (example)](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue)

[Clean up task queue (example)](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue)

[Designing the task queue](/build/core-features/common/async/async-task-queue-design)

[XTaskQueue](/reference/system/xtaskqueue/xtaskqueue_members)


## Related topics

- [Create task queue example](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue.md)
- [Clean up task queue example](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)
- [XTaskQueue library overview](/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [XAsync libraries for asynchronous task programming](/build/core-features/common/async/async-libraries/index.md)
- [XTaskQueueDispatch](/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)
