Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Dispatcher, classe

Fournit des services pour la gestion de la file d'attente des éléments de travail d'un thread.

System.Object
  System.Windows.Threading.Dispatcher

Espace de noms :  System.Windows.Threading
Assembly :  WindowsBase (dans WindowsBase.dll)
public sealed class Dispatcher

Le type Dispatcher expose les membres suivants.

  Nom Description
Propriété publique Membre statique CurrentDispatcher Obtient le Dispatcher pour le thread en cours d'exécution et crée un nouveau Dispatcher si aucun n'est déjà associé au thread.
Propriété publique HasShutdownFinished Détermine si l'arrêt du Dispatcher a abouti.
Propriété publique HasShutdownStarted Détermine si le processus d'arrêt du Dispatcher est en cours.
Propriété publique Hooks Obtient la collection de raccordements qui fournissent des informations d'événement supplémentaires sur le Dispatcher.
Propriété publique Thread Obtient le thread auquel ce Dispatcher est associé.
Début
  Nom Description
Méthode publique BeginInvoke(Delegate, Object[]) Exécute de façon asynchrone le délégué spécifié avec les arguments spécifiés sur le thread sur lequel le Dispatcher spécifié a été créé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate) Exécute le délégué spécifié de façon asynchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
Méthode publique BeginInvoke(Delegate, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec les arguments définis, sur le thread sur lequel Dispatcher a été créé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate, Object) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique BeginInvoke(DispatcherPriority, Delegate, Object, Object[]) Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec le tableau d'arguments défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique BeginInvokeShutdown Initialise de façon asynchrone l'arrêt du Dispatcher.
Méthode publique CheckAccess Détermine si le thread appelant est le thread associé à ce Dispatcher.
Méthode publique DisableProcessing Désactive le traitement de la file d'attente du Dispatcher.
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode publique Membre statique ExitAllFrames Demande la fermeture de tous les frames, y compris les frames imbriqués.
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Membre statique FromThread Obtient le Dispatcher pour le thread spécifié.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Invoke(Delegate, Object[]) Exécute le délégué spécifié de façon synchrone avec les arguments spécifiés, sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate) Exécute le délégué spécifié de façon synchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(Delegate, TimeSpan, Object[]) Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(Delegate, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate, Object) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec la valeur de délai d'attente définie au niveau du thread sur lequel le Dispatcher a été créé.
Méthode publique Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) Exécute le délégué spécifié de façon synchrone, dans l'intervalle de temps spécifié, selon la priorité indiquée et avec les arguments définis sur le thread auquel Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, Delegate, Object, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate, Object) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.
Méthode publique Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) Exécute le délégué spécifié de façon synchrone selon la priorité indiquée et avec les arguments définis au niveau du thread auquel le Dispatcher est associé.
Méthode publique InvokeShutdown Initialise de façon synchrone le processus d'arrêt du Dispatcher.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Membre statique PushFrame Entame une boucle d'exécution.
Méthode publique Membre statique Run Exécute un push du frame d'exécution principal au niveau de la file d'attente des événements du Dispatcher.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Membre statique ValidatePriority Détermine si la priorité DispatcherPriority spécifiée est une priorité valide.
Méthode publique VerifyAccess Détermine si le thread appelant a accès à ce Dispatcher.
Début
  Nom Description
Événement public ShutdownFinished Se produit une fois l'arrêt du Dispatcher accompli.
Événement public ShutdownStarted Se produit au début du processus d'arrêt du Dispatcher.
Événement public UnhandledException Se produit lorsqu'une exception de thread est levée et non interceptée pendant l'exécution d'un délégué au moyen de Invoke ou de BeginInvoke.
Événement public UnhandledExceptionFilter Se produit lorsqu'une exception de thread est levée et non interceptée pendant l'exécution d'un délégué au moyen de Invoke ou de BeginInvoke lors de l'étape de filtrage.
Début
  Nom Description
Méthode d'extension publique BeginInvoke(Action) Surchargé. Exécute de façon asynchrone le délégué spécifié avec priorité normale sur le thread sur lequel le Dispatcher spécifié a été créé. (Défini par DispatcherExtensions.)
Méthode d'extension publique BeginInvoke(Action, DispatcherPriority) Surchargé. Exécute de façon asynchrone le délégué spécifié avec la priorité spécifiée sur le thread sur lequel le Dispatcher spécifié a été créé. (Défini par DispatcherExtensions.)
Méthode d'extension publique Invoke(Action) Surchargé. Exécute de façon synchrone le délégué spécifié avec priorité normale sur le thread sur lequel le Dispatcher spécifié a été créé. (Défini par DispatcherExtensions.)
Méthode d'extension publique Invoke(Action, DispatcherPriority) Surchargé. Exécute de façon synchrone le délégué spécifié avec la priorité spécifiée sur le thread sur lequel le Dispatcher spécifié a été créé. (Défini par DispatcherExtensions.)
Méthode d'extension publique Invoke(Action, TimeSpan) Surchargé. Exécute de façon synchrone le délégué spécifié sur le thread sur lequel le Dispatcher spécifié a été créé et arrête l'exécution après le délai d'attente spécifié. (Défini par DispatcherExtensions.)
Méthode d'extension publique Invoke(Action, TimeSpan, DispatcherPriority) Surchargé. Exécute de façon synchrone le délégué spécifié avec la priorité spécifiée sur le thread sur lequel le Dispatcher spécifié a été créé et arrête l'exécution après le délai d'attente spécifié. (Défini par DispatcherExtensions.)
Début

Dispatcher gère une file d'attente classée par ordre de priorité des éléments de travail pour un thread spécifique.

Lorsqu'un Dispatcher est créé sur un thread, il devient le seul Dispatcher à pouvoir être associé au thread, même si le Dispatcher est arrêté.

Si vous tentez d'obtenir le CurrentDispatcher pour le thread actuel et qu'aucun Dispatcher n'est associé à ce dernier, un Dispatcher est créé.

Si un Dispatcher est arrêté, il ne peut pas être redémarré.

Dans WPF, un DispatcherObject n'est accessible que par le Dispatcher auquel il est associé. Par exemple, un thread d'arrière-plan ne peut pas mettre à jour le contenu d'un Button associé au Dispatcher sur le thread d'UI. Pour que le thread d'arrière-plan puisse accéder à la propriété Content de Button, le thread d'arrière-plan doit déléguer le travail au Dispatcher associé au thread d'UI. Pour ce faire, il peut utiliser Invoke ou BeginInvokeInvoke est synchrone, tandis que BeginInvoke est asynchrone. L'opération est ajoutée à la file d'attente du Dispatcher selon la priorité DispatcherPriority spécifiée.

Si BeginInvoke est appelé au niveau d'un Dispatcher qui s'est arrêté, la propriété d'état du DispatcherOperation retourné a la valeur Aborted.

Toutes les méthodes au niveau de Dispatcher, à l'exception de DisableProcessing, sont libres de threads.

Les objets qui dérivent de DispatcherObject ont une affinité de thread.

Les objets qui dérivent de Freezable sont libres de threads lorsqu'ils sont figés. Pour plus d'informations, consultez Vue d'ensemble des objets Freezable.

L'exemple suivant montre comment placer une opération sur un Dispatcher. Pour obtenir le code source complet de cet exemple, consultez Single-Threaded Application with Long-Running Calculation Sample (page éventuellement en anglais) .

Dans un premier temps, un délégué n'acceptant aucun argument est créé.


public delegate void NextPrimeDelegate();


Ensuite, BeginInvoke(DispatcherPriority, Delegate) est appelé. Cet appel à BeginInvoke(DispatcherPriority, Delegate) prend deux paramètres : la priorité, qui a la valeur DispatcherPriority.Normal, et le rappel, qui est passé par le biais d'une instance du délégué NextPrimeDelegate.


startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));


.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,