다음을 통해 공유


XTaskQueueDispatchMode

작업 큐 콜백이 처리되는 방법을 기술합니다.

구문

typedef enum class XTaskQueueDispatchMode  : uint32_t  
{  
    Manual,  
    ThreadPool,  
    SerializedThreadPool,  
    Immediate  
} XTaskQueueDispatchMode  

상수

상수 설명
Manual 콜백은 자동으로 디스패치되지 않습니다. 이 디스패치 모드를 사용하여 포트에 전송된 콜백은 큐에서 대기하며 XTaskQueueDispatch를 써서 수동으로 디스패치해야 합니다.
참고: Windows 메시지를 펌프 하는 스레드가 있을 경우
  • 작업 포트에 대한 콜백은 디스패치하지 마세요.
  • 완료 포트에 대한 콜백을 디스패치하는 경우에는 해당 스레드의 Windows 메시지를 계속 펌프해야 합니다.

자세한 내용은 수동 작업 큐만들기를 참조하세요.
ThreadPool 이 디스패치 모드를 사용하여 포트에 전송되는 콜백은 큐에 대기하며 자동으로 시스템 스레드 큐에 디스패치됩니다. 스레드 풀은 호출을 병렬로 실행하며 스레드 풀 스레드를 사용할 수 있게 되면 큐에서 차례로 호출을 실행합니다.
스레드 풀 작업 큐를 만드는 방법에 대한 자세한 내용은 스레드 풀 작업 큐 만들기를 참조하세요.
SerializedThreadPool 이 디스패치 모드를 사용하여 포트에 전송되는 콜백은 큐에 대기하며 자동으로 시스템 스레드 큐에 디스패치됩니다. ThreadPool와 달리 작업 큐는 스레드 풀에서 한 번에 하나씩 직렬로 호출을 실행합니다.
Immediate 콜백이 큐에 포함되지 않지만 이를 제출하는 스레드에서 즉시 실행됩니다. 직접 디스패치 모드를 구현 하는 예시를 보려면 합성 작업 큐 만들기를 참조하세요.

비고

이 열거형은 XTaskQueueCreate에서 작업 큐의 작업과 완료 포트에 디스패치 모드를 지정할 때 이용합니다.

작업 포트와 완료 포트는 다른 디스패치 모드를 사용할 수도 있습니다. 예를 들어 작업 포트에 스레드 풀 디스패치 모드를 사용하여 시스템 스레드 큐에서 병렬로 콜백을 실행, 대기하고 자동 디스패치 모드를 사용하여 수동으로 Windows 메시지 루프 쓰레드에서 콜백을 대기하고 실행할 수 있습니다. 자세한 내용은 Windows 메시지 루프와 함께 작업 큐 사용을 참조하세요.

요구 사항

헤더: XTaskQueue.h

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XTaskQueue 멤버
비동기 프로그래밍 모델
비동기 작업 큐 디자인