BlockingCollection<T>.Take 方法

定义

BlockingCollection<T> 中移除一个项。

重载

Take()

BlockingCollection<T> 中移除一个项。

Take(CancellationToken)

BlockingCollection<T> 中移除一个项。

Take()

Source:
BlockingCollection.cs
Source:
BlockingCollection.cs
Source:
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) 行为指定对象,或者ConcurrentStack<T>为后进先出 (LIFO) 行为指定ConcurrentQueue<T>对象。 可使用实现 IProducerConsumerCollection<T> 接口的任何集合类。 BlockingCollection<T> 的默认集合类型为 ConcurrentQueue<T>

另请参阅

适用于

Take(CancellationToken)

Source:
BlockingCollection.cs
Source:
BlockingCollection.cs
Source:
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

可用于取消“take”操作的令牌。

返回

T

从集合中删除的项。

例外

基础集合已在此 BlockingCollection<T> 实例外部修改,或 BlockingCollection<T> 为空,并且已标记为完成添加。

注解

Take 项可供删除或令牌取消之前,对 的调用可能会受阻。

删除项的顺序取决于用于创建实例的 BlockingCollection<T> 集合类型。 创建 BlockingCollection<T> 对象时,可以指定要使用的集合类型。 例如,可以为先入先出 (FIFO) 行为指定对象,或者ConcurrentStack<T>为后进先出 (LIFO) 行为指定ConcurrentQueue<T>对象。 可使用实现 IProducerConsumerCollection<T> 接口的任何集合类。 BlockingCollection<T> 的默认集合类型为 ConcurrentQueue<T>

另请参阅

适用于