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")]
public bool TryEnqueue(DispatcherQueueHandler callback);
function tryEnqueue(callback)
Public Function TryEnqueue (callback As DispatcherQueueHandler) As Boolean

參數

callback
DispatcherQueueHandler

要執行之工作的委派。

傳回

Boolean

bool

如果 工作已新增至佇列,則為 True。 否則為 false

屬性

範例

下列範例示範如何建立新的執行緒,並初始化 DispatcherQueueController, 並在其上執行 DispatcherQueue 事件迴圈。

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

備註

佇列會以序列方式叫用 回呼

呼叫 ShutdownQueueAsync () 之後,佇列就不會將新工作排入佇列,而且此方法會傳回 false

適用於

TryEnqueue(DispatcherQueuePriority, DispatcherQueueHandler)

將工作新增至 DispatcherQueue ,該工作將在與 DispatcherQueue 與指定優先權相關聯的執行緒上執行。

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

參數

priority
DispatcherQueuePriority

工作 (的優先順序,例如低、標準或高) 。

callback
DispatcherQueueHandler

要執行之工作的委派。

傳回

Boolean

bool

如果 工作已新增至佇列,則為 True。 否則為 false

屬性

範例

下列範例示範如何建立新的執行緒,並初始化 DispatcherQueueController, 並在其上執行 DispatcherQueue 事件迴圈。

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

適用於