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

# XAsyncProvider 라이브러리 개요

> XAsyncProvider 라이브러리 개요

이 항목에서는 [XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members) 라이브러리의 목적을 설명합니다. 세 가지 비동기 라이브러리 중 가장 고급이며 작업 실행 방식을 다룹니다. 예를 들어, `XAsyncProvider`는 [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)을 가져와 콜백을 임의의 작업 큐에 큐잉하는 실제 동작을 관리하고, 취소 가능성을 처리하며, 결과 버퍼를 설정합니다.

일반적으로 `XAsyncProvider` 라이브러리는 선택 사항이며 대부분의 경우 이미 공급자가 제공되어 있으므로 필요하지 않습니다. 그러나 [Microsoft Game Development Kit(GDK) 스타일의 API 만들기](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods) 및 [비동기 작업을 취소할 수 있도록 허용](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability)과 같이 더 고급 동작이 필요한 경우 이 라이브러리를 사용할 수 있습니다.

<a id="async_provider_callback" />

#### 비동기 공급자 콜백 라이브러리

이 라이브러리의 대부분의 동작은 [XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin) 함수에 전달되는 비동기 공급자 콜백의 구현을 중심으로 이루어집니다. 이 콜백은 비동기 호출의 처음부터 끝까지 전체 흐름을 나타내며 그 과정에서 발생하는 다양한 상태 변경을 처리합니다. 다음 스크린샷은 공급자가 작업을 처리하는 방식을 단순화하여 설명한 그림입니다.

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/async_provider_diagram.png?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=7ebe8812b5a7a51d77b5544ee3a8be93" alt="공급자가 작업을 처리하는 방식을 단순화하여 설명한 스크린샷" width="662" height="355" data-path="images/gdk/features/common/async_provider_diagram.png" />

## 참고 API 문서

* [XAsyncProvider(API 콘텐츠)](/reference/system/xasyncprovider/xasyncprovider_members)
  * 함수
    * [XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin)
* [xasync(API 콘텐츠)](/reference/system/xasync/xasync_members)
  * 구조체
    * [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

## 참고 항목

[사용자 지정 공급자 설정(예제)](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider)

[호출 메서드 설정(예제)](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods)

[반환 데이터 설정(예제)](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data)

[취소 가능성 설정(예제)](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability)

[XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members)


## Related topics

- [XAsyncProvider](/ko/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncBlock](/ko/reference/system/xasync/structs/xasyncblock.md)
- [XAsyncBegin](/ko/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [취소 가능성 설정 예제](/ko/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)
- [호출 메서드 설정 예제](/ko/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)
