DispatcherQueue.TryEnqueue Methode
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.
Überlädt
TryEnqueue(DispatcherQueueHandler) |
Fügt dem DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der dem DispatcherQueue zugeordnet ist. |
TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler) |
Fügt dem DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der dem DispatcherQueue mit der angegebenen Priorität zugeordnet ist. |
TryEnqueue(DispatcherQueueHandler)
Fügt dem DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der dem DispatcherQueue zugeordnet ist.
public:
virtual bool TryEnqueue(DispatcherQueueHandler ^ callback) = TryEnqueue;
[Windows.Foundation.Metadata.Overload("TryEnqueue")]
public bool TryEnqueue(DispatcherQueueHandler callback);
function tryEnqueue(callback)
Public Function TryEnqueue (callback As DispatcherQueueHandler) As Boolean
Parameter
- callback
- DispatcherQueueHandler
Ein Delegat für die auszuführende Aufgabe.
Gibt zurück
bool
True , wenn die Aufgabe der Warteschlange hinzugefügt wurde. Andernfalls lautet der Wert false.
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie Sie einen neuen Thread erstellen und einen DispatcherQueueController initialisieren und eine DispatcherQueue-Ereignisschleife darauf ausführen.
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue. The
// first TryEnqueue task is guaranteed to be invoked first on the new
// thread.
bool isQueued = _queue.TryEnqueue(
() =>
{
// task to perform on another thread.
});
Hinweise
Die Warteschlange ruft den Rückruf seriell auf.
Sobald ShutdownQueueAsync() aufgerufen wurde, wird die Warteschlange keine neuen Aufgaben in die Warteschlange warteschlangen, und diese Methode gibt false zurück.
Gilt für:
TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)
Fügt dem DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der dem DispatcherQueue mit der angegebenen Priorität zugeordnet ist.
public:
virtual bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler ^ callback) = TryEnqueue;
[Windows.Foundation.Metadata.Overload("TryEnqueueWithPriority")]
public bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler callback);
function tryEnqueue(priority, callback)
Public Function TryEnqueue (priority As DispatcherQueuePriority, callback As DispatcherQueueHandler) As Boolean
Parameter
- priority
- DispatcherQueuePriority
Die Priorität der Aufgabe (z. B. Niedrig, Normal oder Hoch).
- callback
- DispatcherQueueHandler
Ein Delegat für die auszuführende Aufgabe.
Gibt zurück
bool
True , wenn die Aufgabe der Warteschlange hinzugefügt wurde. Andernfalls lautet der Wert false.
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie Sie einen neuen Thread erstellen und einen DispatcherQueueController initialisieren und eine DispatcherQueue-Ereignisschleife darauf ausführen.
// Create a new thread and initialize a DispatcherQueueController
// and run a DispatcherQueue event loop on it.
_queueController =
DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
// This is the first TryEnqueue() after creating the DispatcherQueue. The
// first TryEnqueue task is guaranteed to be invoked first on the new
// thread, regardless of what priority it was enqueued at.
bool isQueued = _queue.TryEnqueue(Windows.System.DispatcherQueuePriority.High,
() =>
{
// task to perform on another thread.
});
Hinweise
Die Warteschlange ruft den Rückruf seriell und in prioritätsmäßiger Reihenfolge auf.
Sobald ShutdownQueueAsync() aufgerufen wurde, wird die Warteschlange keine neuen Aufgaben in die Warteschlange warteschlangen, und diese Methode gibt false zurück.