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

# Create task queue

> Shows how to call XTaskQueueCreate with a dispatch mode for each port, such as ThreadPool, Manual, or Immediate, and save the returned XTaskQueueHandle.

This topic provides an example of how to create a task queue. Simply call [XTaskQueueCreate](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecreate.md),
pass in the [modes](https://docs.xbox.com/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode.md) for each port, and then save the created handle.

```c++ theme={null}
XTaskQueueHandle taskQueue1;
HRESULT hr = XTaskQueueCreate(
    XTaskQueueDispatchMode::ThreadPool,
    XTaskQueueDispatchMode::Manual,
    &taskQueue1);

XTaskQueueHandle taskQueue2;
hr = XTaskQueueCreate(
    XTaskQueueDispatchMode::Immediate,
    XTaskQueueDispatchMode::SerializedThreadPool,
    &taskQueue2);
```

If there isn't an error with the return code, the task queue is now
represented by the returned `XTaskQueueHandle`.

## Reference API documentation

* [XTaskQueue (API contents)](https://docs.xbox.com/reference/system/xtaskqueue/xtaskqueue_members.md)
  * Functions
    * [XTaskQueueCreate](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecreate.md)

## See also

[XTaskQueue library overview](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)

[Dispatch task queue (example)](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue.md)

[Clean up task queue (example)](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)

[Designing the task queue](https://docs.xbox.com/build/core-features/common/async/async-task-queue-design.md)

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


## Related topics

- [XTaskQueueCreate](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecreate.md)
- [Dispatch task queue](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue.md)
- [Clean up task queue](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)
- [XTaskQueue library overview](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [XAsync libraries for asynchronous task programming](https://docs.xbox.com/build/core-features/common/async/async-libraries/index.md)
