DispatchObject Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Basisklasse für Verteilerobjekte.
public abstract class DispatchObject : CoreFoundation.NativeObject
type DispatchObject = class
inherit NativeObject
- Vererbung
- Abgeleitet
Hinweise
Verteilerobjekte teilen Funktionen für die Koordination von Speicherverwaltungs-, Anhalte-, Abbruch- und Textzeigern. Während alle Verteilerobjekte beibehalten werden können, unterstützen nicht alle Objekte Das Anhalten, Kontextzeiger oder Finalizer (derzeit unterstützen nur Warteschlangen und Quellen diese zusätzlichen Schnittstellen).
Der Aufruf von Blöcken in Verteilerwarteschlangen oder Verteilerquellen kann mit den Methoden Suspend()Resume() angehalten oder fortgesetzt werden. Das Dispatch Framework überprüft immer den Anhaltestatus vor dem Ausführen eines Blocks, aber solche Änderungen wirken sich nie auf einen Block während der Ausführung aus (nicht preemptive). Daher ist die Aussetzung eines Objekts asynchron, es sei denn, es wird aus dem Kontext der Zielwarteschlange für das angegebene Objekt ausgeführt. Das Ergebnis des Anhaltens oder Fortsetzens eines Objekts, das keine Verteilerwarteschlange ist oder eine Verteilerquelle nicht definiert ist.
Wichtig: Das Anhalten gilt für alle Aspekte des Lebenszyklus des Versandobjekts, einschließlich der Finalizerfunktion und des Abbruchhandlers. Daher ist es wichtig, Aufrufe abzuwägen Suspend() und Resume() so, dass das Verteilerobjekt vollständig fortgesetzt wird, wenn der letzte Verweis freigegeben wird. Das Ergebnis, dass alle Verweise auf ein Verteilerobjekt freigegeben werden, während in einem angehaltenen Zustand nicht definiert ist.
Verteilerwarteschlangen und Quellen unterstützen zusätzliche Kontextzeiger. Der Wert des Kontextpunkts kann mit der Context Eigenschaft abgerufen und aktualisiert werden.
Das Ergebnis des Abrufens oder Festlegen des Kontexts eines Objekts, das keine Verteilerwarteschlange ist oder eine Verteilerquelle nicht definiert ist.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Handle |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| Owns |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
Methoden
| Name | Beschreibung |
|---|---|
| Activate() |
Basisklasse für Verteilerobjekte. |
| ClearHandle() |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| Dispose() |
Gibt alle von diesem Objekt verwendeten Ressourcen frei. (Geerbt von DisposableObject) |
| Dispose(Boolean) |
Gibt die von diesem Objekt verwendeten Ressourcen frei. (Geerbt von NativeObject) |
| Equals(Object) |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| GetCheckedHandle() |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| GetHashCode() |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| InitializeHandle(NativeHandle) |
Basisklasse für Verteilerobjekte. (Geerbt von DisposableObject) |
| Release() |
Basisklasse für Verteilerobjekte. |
| Retain() |
Basisklasse für Verteilerobjekte. |
| SetTargetQueue(DispatchQueue) |
Basisklasse für Verteilerobjekte. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetHandle(INativeObject) |
Basisklasse für Verteilerobjekte. |
| GetNonNullHandle(INativeObject, String) |
Basisklasse für Verteilerobjekte. |