Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
This topic provides an example of how to dispatch a task queue. Dispatching a task queue is necessary for each manual port. How and when the ports are dispatched determines the threaded and concurrent behavior of the enqueued callbacks.
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;
}
}
});
This example shows an extra thread being spawned to constantly dispatch the completion port of the passed-in task queue until it's terminated.