XTaskQueueDispatch
Traite un élément de la file d’attente de tâches pour le port donné.Syntaxe
Paramètres
queue _In_Type : XTaskQueueHandle File d’attente sur laquelle distribuer le travail. port _In_
Type : XTaskQueuePort Port à distribuer. timeoutInMs _In_
Type : uint32_t Nombre de millisecondes pendant lesquelles attendre l’arrivée de travail avant de retourner false. Vous pouvez passer INFINITE pour attendre indéfiniment.
Valeur de retour
Type : bool Retourne true si cette fonction a distribué un appel, ou false dans le cas contraire. Cette fonction retourne également false si la file d’attente est arrêtée, même si INFINITE est passé comme délai d’expiration.Remarques
Vous pouvez passer un délai d’expiration, ce qui amène XTaskQueueDispatch à attendre que quelque chose arrive dans la file d’attente. Si un port de file d’attente de tâches a été créé avec les modes de distribution XTaskQueueDispatchMode::ThreadPool, XTaskQueueDispatchMode::SerializedThreadPool ou XTaskQueueDispatchMode::Immediate, il distribue automatiquement les rappels. Pour les ports à distribution manuelle, vous devez appeler XTaskQueueDispatch. XTaskQueueDispatch peut être appelée pour n’importe quel mode de distribution, mais notez qu’un appel est toujours distribué sur le thread qui appelle XTaskQueueDispatch.
L’ajout d’un élément à une file d’attente doit se faire sans verrou ni attente afin de satisfaire aux exigences de performances du code en amont. Les API suivantes sont sans verrou :
- XTaskQueueSubmitCallback
- XTaskQueueSubmitDelayedCallback
- XTaskQueueDispatch, à condition que 0 soit passé pour timeoutInMs

Le temps passé par XTaskQueueDispatch à traiter un élément du port de travail est variable et dépend du travail effectué. Dans certains cas, le thread appelant peut se bloquer en attendant la fin d’autres travaux système. L’exemple suivant montre comment utiliser la fonction XTaskQueueDispatch pour traiter les éléments de la file d’attente de tâches.
SubmitCallback est une fonction d’assistance définie dans l’exemple de code de la fonction XTaskQueueSubmitCallback.
Configuration requise
En-tête : XTaskQueue.h Bibliothèque : xgameruntime.lib Plateformes prises en charge : Windows, consoles de la famille XBOX One et consoles XBOX SeriesDocumentation conceptuelle
- Nettoyer une file d’attente de tâches
- Distribuer une file d’attente de tâches
- Vue d’ensemble de la bibliothèque XTaskQueue
- Modèle de programmation asynchrone
- Objectifs de conception et améliorations de la programmation asynchrone
Voir aussi
Membres XTaskQueueModèle de programmation asynchrone
Conception de la file d’attente de tâches asynchrones
