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
|
Dispatcher, classe
Fournit des services pour la gestion de la file d'attente des éléments de travail d'un thread.
Assembly : WindowsBase (dans WindowsBase.dll)
Le type Dispatcher expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
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. |
|
HasShutdownFinished | Détermine si l'arrêt du Dispatcher a abouti. |
|
HasShutdownStarted | Détermine si le processus d'arrêt du Dispatcher est en cours. |
|
Hooks | Obtient la collection de raccordements qui fournissent des informations d'événement supplémentaires sur le Dispatcher. |
|
Thread | Obtient le thread auquel ce Dispatcher est associé. |
| Nom | Description | |
|---|---|---|
|
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éé. |
|
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é. |
|
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éé. |
|
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é. |
|
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é. |
|
BeginInvokeShutdown | Initialise de façon asynchrone l'arrêt du Dispatcher. |
|
CheckAccess | Détermine si le thread appelant est le thread associé à ce Dispatcher. |
|
DisableProcessing | Désactive le traitement de la file d'attente du Dispatcher. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
ExitAllFrames | Demande la fermeture de tous les frames, y compris les frames imbriqués. |
|
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.) |
|
FromThread | Obtient le Dispatcher pour le thread spécifié. |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
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é. |
|
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é. |
|
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é. |
|
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é. |
|
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é. |
|
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éé. |
|
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é. |
|
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é. |
|
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é. |
|
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é. |
|
InvokeShutdown | Initialise de façon synchrone le processus d'arrêt du Dispatcher. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
PushFrame | Entame une boucle d'exécution. |
|
Run | Exécute un push du frame d'exécution principal au niveau de la file d'attente des événements du Dispatcher. |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
|
ValidatePriority | Détermine si la priorité DispatcherPriority spécifiée est une priorité valide. |
|
VerifyAccess | Détermine si le thread appelant a accès à ce Dispatcher. |
| Nom | Description | |
|---|---|---|
|
ShutdownFinished | Se produit une fois l'arrêt du Dispatcher accompli. |
|
ShutdownStarted | Se produit au début du processus d'arrêt du Dispatcher. |
|
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. |
|
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. |
| Nom | Description | |
|---|---|---|
|
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.) |
|
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.) |
|
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.) |
|
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.) |
|
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.) |
|
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.) |
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 BeginInvoke. Invoke 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éé.
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.
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.