다음을 통해 공유


작업 큐 디스패치 예제

이 항목에서는 작업 큐를 디스패치하는 방법의 예제를 제공합니다. 작업 큐 디스패치는 각 수동 포트에 대해 필요합니다. 포트가 디스패치되는 방법과 시기는 큐에 있는 콜백의 스레드 및 동시 동작을 결정합니다.

std::thread dispatherThread = std::thread(
    [taskQueue]()
    {
        while (true)
        {
            bool processed = XTaskQueueDispatch(taskQueue,
                XTaskQueuePort::Completion, INFINITE);

            if (!processed)
            {
                // The task queue has been terminated, so return.
                break;
            }
        }
    });

이 예제에서는 작업 큐가 종료될 때까지 전달된 작업 큐의 완료 포트를 지속적으로 디스패치하기 위해 추가 스레드가 생성되는 것을 보여 줍니다.

참고 항목

XTaskQueue 라이브러리 개요

작업 큐 만들기(예제)

작업 큐 정리(예제)

작업 대기열 디자인

XTaskQueue