語言

AsyncQueue<T> 類別

定義

一個執行緒安全、非同步可排隊的佇列。

generic <typename T>
public ref class AsyncQueue
template <typename T>
[Windows::Foundation::Metadata::WebHostHidden]
class AsyncQueue
[System.Diagnostics.DebuggerDisplay("Count = {Count}, Completed = {completeSignaled}")]
public class AsyncQueue<T>
[<System.Diagnostics.DebuggerDisplay("Count = {Count}, Completed = {completeSignaled}")>]
type AsyncQueue<'T> = class
[<System.Diagnostics.DebuggerDisplay("Count = {Count}, Completed = {completeSignaled}")>]
type AsyncQueue<'T> = class
    interface ThreadingTools.ICancellationNotification
Public Class AsyncQueue(Of T)

類型參數

T

隊列所保留的值類型。

繼承
AsyncQueue<T>
衍生
屬性

建構函式

名稱 Description
AsyncQueue<T>()

初始化 AsyncQueue<T> 類別的新執行個體。

屬性

名稱 Description
Completion

當被呼叫且隊列為空時,會獲得一個任務,該任務會轉換成完成狀態 Complete() 。

Count

會取得目前排隊中元素的數量。

InitialCapacity

取得排隊的初始容量。

IsCompleted

會獲得一個值,表示佇列是否同時是空的,且 Complete() 已被調用。

IsEmpty

會獲得一個值,表示佇列目前是否為空。

SyncRoot

取得此佇列所使用的同步物件。

方法

名稱 Description
Complete()

表示不會再加入更多元素。

DequeueAsync(CancellationToken)

會得到一個任務,其結果是佇列頂端的元素。

Enqueue(T)

在排隊尾端加入一個元素。

OnCompleted()

排隊完成時會啟動。

OnDequeued(T)

當值被取消排隊時會被調用。

OnEnqueued(T, Boolean)

當值被排隊時會被調用。

Peek()

取得隊列頂端的值,但不會從隊列中移除。

ToArray()

會回傳這個佇列的副本,作為陣列。

TryDequeue(Predicate<T>, T)

如果有符合指定檢查的元素,會立即將該元素從佇列頭端移除;否則返回,且不含元素。

TryDequeue(T)

如果有該元素可用,會立即將該元素從隊列頭部中移除,否則則回傳時不包含任何元素。

TryEnqueue(T)

如果該元素尚未完成,則會將元素加入隊列尾部。

TryPeek(T)

若該值非空,則取得佇列頂端的值,且不將其從佇列中移除。

適用於

執行緒安全性

此類型對所有成員皆為執行緒安全。