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

# 작업 큐 정리 예제

> 작업 큐 정리 예제

이 항목은 리소스 누수를 방지하기 위해 더 이상 필요하지 않은 작업 큐를 정리하는 방법의 예를 제공합니다. 그러나 작업 큐는 즉시 해제할 수 없습니다. 먼저 종료한 다음, 큐에 넣은 모든 작업이 실행되도록 플러시하고, 그 후에 해제해야 합니다.

[terminate 호출](/reference/system/xtaskqueue/functions/xtaskqueueterminate)은 대기하도록 설정하거나 즉시 반환하도록 설정할 수 있습니다. 콜백이 대기하지 않는 경우, 종료가 완전히 끝나면 알림을 받도록 선택적으로 지정할 수 있습니다. [수동 포트](/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode)가 있는 경우, [디스패치 함수](/reference/system/xtaskqueue/functions/xtaskqueuedispatch)가 반환될 때까지 계속 디스패치해야 합니다.

```c++ theme={null}
XTaskQueueTerminate(taskQueue, false, nullptr, nullptr);
bool result;
do
{
    result = XTaskQueueDispatch(taskQueue, XTaskQueuePort::Completion, INFINITE);
} while (result == true);
XTaskQueueCloseHandle(taskQueue);
```

이 예에서는 작업 큐를 종료하지만 [XTaskQueueTerminate](/reference/system/xtaskqueue/functions/xtaskqueueterminate) wait 매개 변수를 사용하여 대기하지 않습니다. `terminate` 호출은 각 포트에 콜백을 하나씩 추가하여 큐가 비어 있을 때를 감지합니다. 이를 고려하고 이전에 큐에 넣은 콜백을 고려하기 위해, `dispatch`가 `false`를 반환할 때까지 계속 호출됩니다.

## 참고 API 문서

* [XTaskQueue(API 콘텐츠)](/reference/system/xtaskqueue/xtaskqueue_members)
  * 함수
    * [xtaskqueueterminate](/reference/system/xtaskqueue/functions/xtaskqueueterminate)
    * [xtaskqueuedispatch](/reference/system/xtaskqueue/functions/xtaskqueuedispatch)

## 참고 항목

[XTaskQueue 라이브러리 개요](/build/core-features/common/async/async-libraries/async-library-xtaskqueue)

[작업 큐 만들기(예제)](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue)

[작업 큐 디스패치(예제)](/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue)

[작업 큐 설계](/build/core-features/common/async/async-task-queue-design)

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


## Related topics

- [작업 큐 만들기 예제](/ko/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue.md)
- [작업 큐 디스패치 예제](/ko/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue.md)
- [비동기 작업 프로그래밍을 위한 XAsync 라이브러리](/ko/build/core-features/common/async/async-libraries/index.md)
- [XTaskQueue 라이브러리 개요](/ko/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [방법: 작업 큐 핸들 복제](/ko/build/core-features/common/async/async-task-queue-design-howto/duplicating-task-queue-handle.md)
