DispatcherQueue.TryEnqueue Methode

Definition

Überlädt

Name Beschreibung
TryEnqueue(DispatcherQueueHandler)

Fügt der DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der der DispatcherQueue zugeordnet ist.

TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)

Fügt der DispatcherQueue eine Aufgabe hinzu, die auf dem Thread ausgeführt wird, der der DispatcherQueue mit der angegebenen Priorität zugeordnet ist.

TryEnqueue(DispatcherQueueHandler)

Fügt der DispatcherQueue eine Aufgabe hinzu, die für den Thread ausgeführt wird, der der 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

Eine Stellvertretung an die auszuführende Aufgabe.

Gibt zurück

Boolean

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 fortlaufend auf.

Nachdem ShutdownQueueAsync() aufgerufen wurde, wird in der Warteschlange keine neuen Aufgaben in die Warteschlange eingereiht, und diese Methode gibt "false" zurück.

Gilt für:

TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)

Fügt der DispatcherQueue eine Aufgabe hinzu, die auf dem Thread ausgeführt wird, der der 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 des Vorgangs (z. B. Niedrig, Normal oder Hoch).

callback
DispatcherQueueHandler

Eine Stellvertretung an die auszuführende Aufgabe.

Gibt zurück

Boolean

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 fortlaufend und in der Prioritätsreihenfolge auf.

Nachdem ShutdownQueueAsync() aufgerufen wurde, wird in der Warteschlange keine neuen Aufgaben in die Warteschlange eingereiht, und diese Methode gibt "false" zurück.

Gilt für: