간단한 작업 예제 실행
이 항목에서는 간단한 사용자 작업을 실행하는 방법의 예제를 제공합니다. 간단한 작업은 XAsyncRun 함수를 사용하여 시작할 수 있습니다. 이 함수는 비동기 블록을 입력으로 사용하여 작업 콜백을 함수 또는 람다 입력으로 구현해야 합니다. 비동기 블록은 사용할 작업 큐와 선택적 완료 콜백을 지정합니다.
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
을(를) 호출하기만 하면 됩니다.