BlockingCollection<T>.Take 方法

定义

从 . BlockingCollection<T>. 中删除项

重载

名称 说明
Take()

从 . BlockingCollection<T>. 中删除项

Take(CancellationToken)

从 . BlockingCollection<T>. 中删除项

Take()

从 . 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> 对象,也可以 ConcurrentStack<T> 指定最后一个先出 (LIFO) 行为的对象。 可以使用任何集合类,这些集合类实现了 IProducerConsumerCollection<T> 接口。 的默认集合类型 BlockingCollection<T>ConcurrentQueue<T>.

另请参阅

适用于

Take(CancellationToken)

从 . 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> 对象,也可以 ConcurrentStack<T> 指定最后一个先出 (LIFO) 行为的对象。 可以使用任何集合类,这些集合类实现了 IProducerConsumerCollection<T> 接口。 的默认集合类型 BlockingCollection<T>ConcurrentQueue<T>.

另请参阅

适用于