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

# Asynchronous Programming Overview

> Asynchronous Programming Overview

This section describes the Asynchronous Programming Model that's used with the Microsoft Game Development Kit (GDK).

## In this section

[Asynchronous Programming Design Goals and Improvements](/build/core-features/common/async/async-whitepaper)

Covers how the Microsoft Game Development Kit (GDK)'s new asynchronous programming model was designed and the improvements made as a result of developer feedback regarding the XBOX One ERA async model.

[Asynchronous Programming Model](/build/core-features/common/async/async-programming-model)

Provides information about how the Microsoft Game Development Kit (GDK) implements a new pattern for asynchronous APIs.
This topic describes this design pattern and offers a proposal for a library that can be used to
implement asynchronous patterns.

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

Describes the Microsoft Game Development Kit (GDK) task queue that's used in conjunction with the Microsoft Game Development Kit (GDK)
async design pattern. A task queue is an API for queuing work and completion task callbacks.
Task queue can be configured in one of several different dispatch modes, including a manual
dispatching mechanism that you can use when you want to carefully manage gaming workloads.
Additionally, this section provides how-to examples for common async task queue scenarios.

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

Describes the purpose and usage of the XTaskQueue library and has example topics to walk through the basic usage.

[XAsync Library Overview](/build/core-features/common/async/async-libraries/async-library-xasync)

Describes the purpose and usage of the XAsync library and has example topics to walk through the basic usage.

[XAsyncProvider Library Overview](/build/core-features/common/async/async-libraries/async-library-xasyncprovider)

Describes the purpose and usage of the XAsyncProvider library and has example topics to walk through the basic usage.

[Generic Async Task Wrapper](/build/core-features/common/async/async-task-function-example)

Provides an implementation of a generic async task wrapper function that can be used to simplify the process of running generic user tasks asynchronously using the Microsoft Game Development Kit (GDK) asynchronous programming model.


## Related topics

- [Common GDK features](/build/core-features/common/common-features-overview.md)
- [Generic async task wrapper](/build/core-features/common/async/async-task-function-example.md)
- [Asynchronous Programming Model](/build/core-features/common/async/async-programming-model.md)
- [XAsync libraries for asynchronous task programming](/build/core-features/common/async/async-libraries/index.md)
- [XAsyncBlock](/reference/system/xasync/structs/xasyncblock.md)
