XTaskQueueDispatch
Processa um item na fila de tarefas para a porta especificada.Sintaxe
Parâmetros
queue _In_Tipo: XTaskQueueHandle A fila na qual o trabalho será expedido. port _In_
Tipo: XTaskQueuePort A porta a ser expedida. timeoutInMs _In_
Tipo: uint32_t O número de milissegundos a aguardar a chegada de trabalho antes de retornar false. Você pode passar INFINITE para aguardar indefinidamente.
Valor retornado
Tipo: bool Retorna true se esta função expediu uma chamada ou false caso contrário. Esta função também retornará false se a fila for encerrada, mesmo que INFINITE seja passado como tempo limite.Comentários
Você pode passar um tempo limite, o que fará com que XTaskQueueDispatch aguarde a chegada de algo na fila. Se uma porta da fila de tarefas tiver sido criada com os modos de expedição XTaskQueueDispatchMode::ThreadPool, XTaskQueueDispatchMode::SerializedThreadPool ou XTaskQueueDispatchMode::Immediate, ela expedirá os retornos de chamada automaticamente. Para portas de expedição manual, você precisa chamar XTaskQueueDispatch. XTaskQueueDispatch pode ser chamado para qualquer modo de expedição, mas observe que uma chamada é sempre expedida no thread que chama XTaskQueueDispatch.
Adicionar um item a uma fila precisa ser livre de bloqueios e de esperas para atender aos requisitos de desempenho do código upstream. As seguintes APIs são livres de bloqueios:
- XTaskQueueSubmitCallback
- XTaskQueueSubmitDelayedCallback
- XTaskQueueDispatch, desde que 0 seja passado para timeoutInMs

O tempo gasto por XTaskQueueDispatch ao processar um item da porta de trabalho é variável e depende do trabalho que está sendo executado. Em alguns casos, o thread de chamada pode ficar bloqueado aguardando a conclusão de outro trabalho do sistema. O exemplo a seguir mostra como usar a função XTaskQueueDispatch para processar itens na fila de tarefas.
SubmitCallback é uma função auxiliar definida no exemplo de código da função XTaskQueueSubmitCallback.
Requisitos
Cabeçalho: XTaskQueue.h Biblioteca: xgameruntime.lib Plataformas compatíveis: Windows, consoles da família XBOX One e consoles XBOX SeriesDocumentação conceitual
- Limpar a fila de tarefas
- Expedir a fila de tarefas
- Visão geral da biblioteca XTaskQueue
- Modelo de programação assíncrona
- Metas de design e melhorias da programação assíncrona
Confira também
Membros de XTaskQueueModelo de programação assíncrona
Design da fila de tarefas assíncrona
