XTaskQueueDispatch
Procesa un elemento de la cola de tareas para el puerto especificado.Sintaxis
Parámetros
queue _In_Tipo: XTaskQueueHandle La cola en la que se distribuirá el trabajo. port _In_
Tipo: XTaskQueuePort El puerto que se distribuirá. timeoutInMs _In_
Tipo: uint32_t El número de milisegundos que se esperará a que llegue trabajo antes de devolver false. Puede pasar INFINITE para esperar indefinidamente.
Valor devuelto
Tipo: bool Devuelve true si esta función distribuyó una llamada o false si no lo hizo. Esta función también devolverá false si la cola finaliza, incluso si se pasa INFINITE como tiempo de espera.Comentarios
Puede pasar un tiempo de espera, lo que hará que XTaskQueueDispatch espere a que llegue algo a la cola. Si un puerto de una cola de tareas se creó con los modos de distribución XTaskQueueDispatchMode::ThreadPool, XTaskQueueDispatchMode::SerializedThreadPool o XTaskQueueDispatchMode::Immediate, distribuirá las devoluciones de llamada automáticamente. Para los puertos de distribución manual, debe llamar a XTaskQueueDispatch. Se puede llamar a XTaskQueueDispatch con cualquier modo de distribución, pero tenga en cuenta que las llamadas siempre se distribuyen en el subproceso que llama a XTaskQueueDispatch.Agregar un elemento a una cola debe ser una operación sin bloqueos ni esperas para satisfacer los requisitos de rendimiento del código de niveles superiores. Las siguientes API no usan bloqueos:
- XTaskQueueSubmitCallback
- XTaskQueueSubmitDelayedCallback
- XTaskQueueDispatch, siempre que se pase 0 para timeoutInMs
La cantidad de tiempo empleada por XTaskQueueDispatch al procesar un elemento del puerto de trabajo es variable y depende del trabajo que se esté realizando. En algunos casos, el subproceso que realiza la llamada podría bloquearse a la espera de que se complete otro trabajo del sistema. En el ejemplo siguiente se muestra cómo usar la función XTaskQueueDispatch para procesar elementos de la cola de tareas.
SubmitCallback es una función auxiliar que se define en el ejemplo de código de la función XTaskQueueSubmitCallback.
Requisitos
Encabezado: XTaskQueue.h Biblioteca: xgameruntime.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX SeriesDocumentación conceptual
- Limpiar la cola de tareas
- Distribuir la cola de tareas
- Información general de la biblioteca XTaskQueue
- Modelo de programación asincrónica
- Objetivos de diseño y mejoras de la programación asincrónica
Consulte también
Miembros de XTaskQueueModelo de programación asincrónica
Diseño de la cola de tareas asincrónicas
