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

# XAsync libraries for asynchronous task programming

> Use the XAsync and XAsyncProvider libraries to define, invoke, and cancel asynchronous tasks and custom providers in GDK titles, with worked examples.

Explore async libraries topics for XBOX game development.

<CardGroup cols={2}>
  <Card title="Run microsoft game development kit API" icon="cube" href="/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task">
    This topic provides an example of how to run a Microsoft Game Development Kit (GDK) API task.
  </Card>

  <Card title="Run simple task example" icon="microchip" href="/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task">
    This topic provides an example of how to run a simple user task.
  </Card>

  <Card title="Set up async task example" icon="code" href="/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task">
    This topic provides an example of how to set up async tasks.
  </Card>

  <Card title="Xasync library" icon="toolbox" href="/build/core-features/common/async/async-libraries/async-library-xasync">
    The XAsync library provides methods and data that define async tasks and their callbacks.
  </Card>

  <Card title="Set up cancelability example" icon="download" href="/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability">
    This topic provides an example of how to set up cancelability in a custom provider callback.
  </Card>

  <Card title="Set up custom provider example" icon="code" href="/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider">
    This topic provides an example of how to set up a custom async provider.
  </Card>

  <Card title="Set up invocation methods example" icon="code" href="/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods">
    This topic provides an example of how to set up invocation methods for a custom provider.
  </Card>

  <Card title="Set up return data example" icon="code" href="/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data">
    This topic provides an example of how to set up return data.
  </Card>

  <Card title="Xasyncprovider library" icon="circle-info" href="/build/core-features/common/async/async-libraries/async-library-xasyncprovider">
    This topic describes the purpose of the XAsyncProvider library.
  </Card>

  <Card title="Clean up task queue example" icon="microchip" href="/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue">
    This topic provides an example of how to clean up a task queue when it's no longer needed to avoid leaking resources.
  </Card>

  <Card title="Create task queue example" icon="microchip" href="/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue">
    This topic provides an example of how to create a task queue.
  </Card>

  <Card title="Dispatch task queue example" icon="microchip" href="/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue">
    This topic provides an example of how to dispatch a task queue.
  </Card>

  <Card title="Xtaskqueue library" icon="microchip" href="/build/core-features/common/async/async-libraries/async-library-xtaskqueue">
    Use this topic to manage task queues with the XTaskQueue library.
  </Card>
</CardGroup>


## Related topics

- [Asynchronous Programming Overview](/build/core-features/common/async/async-toc.md)
- [XAsyncBlock](/reference/system/xasync/structs/xasyncblock.md)
- [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus.md)
- [XAsyncProvider library overview](/build/core-features/common/async/async-libraries/async-library-xasyncprovider.md)
- [XAsyncRun](/reference/system/xasync/functions/xasyncrun.md)
