Freigeben über


DispatcherQueue.TryEnqueue Methode

Definition

Ü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

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 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

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

Gilt für: