비동기 작업 예제 설정
이 항목에서는 비동기 작업을 설정하는 방법의 예를 제공합니다. 실행할 비동기 XAsyncBlock 대해 새 XAsyncBlock을 설정합니다. 이러한 비동기 블록은 여러 활성 비동기 작업 간에 공유할 수 없습니다. 그러나 원래 작업이 완료된 후 다른 작업을 위해 다시 사용할 수 있습니다. 간단한 패턴은 각 호출에 대해 단지 블록을 동적으로 할당한 후 완료 콜백에서 호출이 마무리될 때 이 블록을 해제하는 것입니다.
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback =
[](XAsyncBlock* async)
{
// The optional completion callback.
delete async;
}
완료 콜백의 매개 변수는 이전에 만들어진 비동기 블록입니다. 이렇게 하면 원하는 경우 컨텍스트에 액세스하고 입력 및 출력 둘 다를 사용하여 적절한 유형으로 컨텍스트에 액세스하고 이를 출력할 수 있습니다.