BlockingCollection<T>.Take 方法

定義

BlockingCollection<T> 移除項目。

多載

Take()

BlockingCollection<T> 移除項目。

Take(CancellationToken)

BlockingCollection<T> 移除項目。

Take()

來源:
BlockingCollection.cs
來源:
BlockingCollection.cs
來源:
BlockingCollection.cs

BlockingCollection<T> 移除項目。

public:
 T Take();
public T Take ();
member this.Take : unit -> 'T
Public Function Take () As T

傳回

T

已從集合中移除的專案。

例外狀況

基礎集合已在此實例之外 BlockingCollection<T> 修改,或 BlockingCollection<T> 是空的,而且已標示為已完成,與新增項目有關。

備註

呼叫 Take 可能會封鎖,直到專案可供移除為止。

項目的移除順序取決於用來建立 BlockingCollection<T> 執行個體的集合型別。 建立 BlockingCollection<T> 物件時,您可以指定要使用的集合型別。 例如,您可以針對先進先出 (FIFO) 行為指定 ConcurrentQueue<T> 物件,或針對後進先出 (LIFO) 行為指定 ConcurrentStack<T> 物件。 您可以使用任何可實作 IProducerConsumerCollection<T> 介面的集合類別。 BlockingCollection<T> 的預設集合類型為 ConcurrentQueue<T>

另請參閱

適用於

Take(CancellationToken)

來源:
BlockingCollection.cs
來源:
BlockingCollection.cs
來源:
BlockingCollection.cs

BlockingCollection<T> 移除項目。

public:
 T Take(System::Threading::CancellationToken cancellationToken);
public T Take (System.Threading.CancellationToken cancellationToken);
member this.Take : System.Threading.CancellationToken -> 'T
Public Function Take (cancellationToken As CancellationToken) As T

參數

cancellationToken
CancellationToken

可用來取消「採取」作業的令牌。

傳回

T

已從集合中移除的專案。

例外狀況

基礎集合已在此實例之外 BlockingCollection<T> 修改,或 BlockingCollection<T> 是空的,而且已標示為已完成,與新增項目有關。

備註

呼叫 Take 可能會封鎖,直到專案可供移除或取消令牌為止。

項目的移除順序取決於用來建立 BlockingCollection<T> 執行個體的集合型別。 建立 BlockingCollection<T> 物件時,您可以指定要使用的集合型別。 例如,您可以針對先進先出 (FIFO) 行為指定 ConcurrentQueue<T> 物件,或針對後進先出 (LIFO) 行為指定 ConcurrentStack<T> 物件。 您可以使用任何可實作 IProducerConsumerCollection<T> 介面的集合類別。 BlockingCollection<T> 的預設集合類型為 ConcurrentQueue<T>

另請參閱

適用於