设置异步任务示例
本主题提供有关如何设置异步任务的示例。 为要运行的异步任务设置 XAsyncBlock。 无法在多个活动的异步任务之间共享这些异步块。 但是,可以在原始任务完成后将它们重用于其他任务。 一个简单的模式是仅为每个调用动态分配该块,然后在完成回调中的调用完成后释放该块。
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback =
[](XAsyncBlock* async)
{
// The optional completion callback.
delete async;
}
完成回调的参数是先前创建的异步块。 这允许访问上下文并将其强制转换为适当的类型,以便用于输入和输出(如果你希望如此)。