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
Задача, выполняемая.
Возвращаемое значение
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
Делегат выполняемой задачи.
Возвращаемое значение
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.