작업 큐 디스패치 예제
이 항목에서는 작업 큐를 디스패치하는 방법의 예제를 제공합니다. 작업 큐 디스패치는 각 수동 포트에 대해 필요합니다. 포트가 디스패치되는 방법과 시기는 큐에 있는 콜백의 스레드 및 동시 동작을 결정합니다.
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;
}
}
});
이 예제에서는 작업 큐가 종료될 때까지 전달된 작업 큐의 완료 포트를 지속적으로 디스패치하기 위해 추가 스레드가 생성되는 것을 보여 줍니다.