调度任务队列示例
本主题提供如何调度任务队列的示例。 每个手动端口都需要调度任务队列。 端口的调度方式和时间决定了排队的回调的线程和并发行为。
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;
}
}
});
此示例显示一个正在衍生的额外线程,用于持续调度已传入的任务队列的完成端口,直至其终止。