Langue

DispatchObject Classe

Définition

Classe de base pour les objets dispatch.

public abstract class DispatchObject : CoreFoundation.NativeObject
type DispatchObject = class
    inherit NativeObject
Héritage
Dérivé

Remarques

Les objets de répartition partagent des fonctions pour coordonner la gestion de la mémoire, la suspension, l’annulation et les pointeurs de texte con-text. Bien que tous les objets de répartition soient conservés, tous les objets ne prennent pas en charge la suspension, les pointeurs de contexte ou les finaliseurs (actuellement uniquement les files d’attente et les sources prennent en charge ces interfaces supplémentaires).

L’appel de blocs sur les files d’attente de distribution ou les sources de distribution peut être suspendu ou repris avec les méthodes Suspend() et Resume() respectivement. L’infrastructure de distribution vérifie toujours l’état de suspension avant d’exécuter un bloc, mais ces modifications n’affectent jamais un bloc pendant l’exécution (non préemptif). Par conséquent, la suspension d’un objet est asynchrone, sauf si elle est effectuée à partir du contexte de la file d’attente cible pour l’objet donné. Le résultat de la suspension ou de la reprise d’un objet qui n’est pas une file d’attente de distribution ou une source de distribution n’est pas défini.

Important : la suspension s’applique à tous les aspects du cycle de vie de l’objet de distribution, y compris la fonction finaliseur et le gestionnaire d’annulation. Par conséquent, il est important d’équilibrer les appels vers Suspend() et Resume() de telle sorte que l’objet dispatch soit entièrement repris lors de la publication de la dernière référence. Le résultat de la libération de toutes les références à un objet dispatch dans un état suspendu n’est pas défini.

Les files d’attente de distribution et les sources prennent en charge les pointeurs de contexte supplémentaires. La valeur du point de contexte peut être récupérée et mise à jour avec la Context propriété.

Le résultat de l’obtention ou de la définition du contexte d’un objet qui n’est pas une file d’attente de distribution ou une source de distribution n’est pas défini.

Propriétés

Nom Description
Handle

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
Owns

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)

Méthodes

Nom Description
Activate()

Classe de base pour les objets dispatch.

ClearHandle()

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
Dispose()

Libère toutes les ressources utilisées par cet objet.

(Hérité de DisposableObject)
Dispose(Boolean)

Libère les ressources utilisées par cet objet.

(Hérité de NativeObject)
Equals(Object)

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
GetCheckedHandle()

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
GetHashCode()

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
InitializeHandle(NativeHandle)

Classe de base pour les objets dispatch.

(Hérité de DisposableObject)
Release()

Classe de base pour les objets dispatch.

Retain()

Classe de base pour les objets dispatch.

SetTargetQueue(DispatchQueue)

Classe de base pour les objets dispatch.

Méthodes d’extension

Nom Description
GetHandle(INativeObject)

Classe de base pour les objets dispatch.

GetNonNullHandle(INativeObject, String)

Classe de base pour les objets dispatch.

S’applique à