Partager via


DispatchSource.Cancel Méthode

Définition

Annule de manière asynchrone la source de répartition.

public void Cancel ();
member this.Cancel : unit -> unit

Remarques

La Cancel() fonction annule de manière asynchrone la source de distribution, empêchant toute autre invocation de son bloc de gestionnaire d’événements. L’annulation n’interrompt pas un bloc de gestionnaire en cours d’exécution (non préemptif). Si une source est annulée avant sa première reprise, son gestionnaire d’événements n’est jamais appelé.  (Dans ce cas, notez que la source doit être reprise avant de pouvoir être publiée.)

La IsCanceled fonction peut être utilisée pour déterminer si la source spécifiée a été annulée.

Lorsqu’une source de répartition est annulée, son gestionnaire d’annulation facultatif est envoyé à sa file d’attente cible. Le gestionnaire d’annulation peut être spécifié via SetCancelHandler(Action). Ce gestionnaire d’annulation n’est appelé qu’une seule fois, et uniquement en conséquence directe de l’appel Cancel()de .

Important : un gestionnaire d’annulation est requis pour les sources basées sur le descripteur de fichier et le port mach afin de fermer le descripteur ou de détruire le port en toute sécurité. La fermeture du descripteur ou du port avant l’exécution du gestionnaire d’annulation peut entraîner une condition de course : si un nouveau descripteur est alloué avec la même valeur que le descripteur récemment fermé alors que le gestionnaire d’événements de la source est toujours en cours d’exécution, le gestionnaire d’événements peut lire/écrire des données dans le descripteur incorrect.

S’applique à