Поделиться через


DispatcherQueue.TryEnqueue Метод

Определение

Перегрузки

TryEnqueue(DispatcherQueueHandler)

Добавляет задачу в DispatcherQueue , которая будет выполняться в потоке, связанном с DispatcherQueue.

TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)

Добавляет задачу в DispatcherQueue , которая будет выполняться в потоке, связанном с DispatcherQueue.

TryEnqueue(DispatcherQueueHandler)

Добавляет задачу в DispatcherQueue , которая будет выполняться в потоке, связанном с DispatcherQueue.

public:
 virtual bool TryEnqueue(DispatcherQueueHandler ^ callback) = TryEnqueue;
/// [Windows.Foundation.Metadata.Overload("TryEnqueue")]
bool TryEnqueue(DispatcherQueueHandler const& callback);
[Windows.Foundation.Metadata.Overload("TryEnqueue")]
public bool TryEnqueue(DispatcherQueueHandler callback);
function tryEnqueue(callback)
Public Function TryEnqueue (callback As DispatcherQueueHandler) As Boolean

Параметры

callback
DispatcherQueueHandler

Задача, выполняемая.

Возвращаемое значение

Boolean

bool

Значение True указывает, что задача была добавлена в очередь; False, в противном случае .

Атрибуты

Примеры

// 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 callback is guaranteed to be invoked first despite Priority on the
// newly created thread.

bool isQueued = _queue.TryEnqueue(
        () =>
        {
            // task to perform on another thread.
        });

Комментарии

Задача будет помещена в очередь с обычным приоритетом. Очередь будет вызывать обратный вызов последовательно и в порядке приоритета.

После вызова ShutdownQueueAsync() очередь не будет ставить новые задачи в очередь, и этот метод вернет значение false.

Применяется к

TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)

Добавляет задачу в DispatcherQueue , которая будет выполняться в потоке, связанном с DispatcherQueue.

public:
 virtual bool TryEnqueue(DispatcherQueuePriority priority, DispatcherQueueHandler ^ callback) = TryEnqueue;
/// [Windows.Foundation.Metadata.Overload("TryEnqueueWithPriority")]
bool TryEnqueue(DispatcherQueuePriority const& priority, DispatcherQueueHandler const& callback);
[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

Параметры

priority
DispatcherQueuePriority

Приоритет задачи, например Низкий, Обычный или Высокий.

callback
DispatcherQueueHandler

Делегат выполняемой задачи.

Возвращаемое значение

Boolean

bool

Значение True указывает, что задача была добавлена в очередь; False, в противном случае .

Атрибуты

Примеры

// 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.
        });

Комментарии

Очередь будет вызывать обратный вызов последовательно и в порядке приоритета.

После вызова ShutdownQueueAsync() очередь не будет ставить новые задачи в очередь, и этот метод вернет значение false.

Применяется к