运行简单任务示例
本主题提供有关如何运行简单用户任务的示例。 可使用 XAsyncRun 函数启动简单任务。 此函数将异步块用作输入,然后要求将工作回调实现为 functor 或 lambda 输入。 请记住,异步块指定要使用的任务队列和可选的完成回调。
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback =
[](XAsyncBlock* async)
{
// The optional completion callback.
delete async;
}
XAsyncRun(async,
[](XAsyncBlock* async)->HRESULT
{
// The work callback is implemented here.
return S_OK;
});
此示例使用 XAsyncRun
启动自定义的简单异步任务。 异步块包含要使用的任务队列和完成回调。
XAsyncRun
需要工作回调,而且它有一个返回值。 此返回值在调用 XAsyncGetStatus 之后返回。
XAsyncRun
内部有一个简单的异步提供程序设置,可用于处理指定工作回调的排队、异步块中完成回调的排队以及该进程的其他状态更改。 这意味着运行简单异步任务不需要更多的代码 — 只需设置异步块并调用 XAsyncRun
。