BlockingCollection<T>.Take 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 . 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
返回
从集合中删除的项。
例外
基础集合在此实例之外 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
可用于取消“执行”操作的令牌。
返回
从集合中删除的项。
例外
基础集合在此实例之外 BlockingCollection<T> 进行了修改,或为空, BlockingCollection<T> 并且已标记为已完成,并已对添加内容进行标记。
注解
调用 Take 可能会阻止,直到某个项可供删除或令牌取消。
删除项的顺序取决于用于创建 BlockingCollection<T> 实例的集合的类型。 创建 BlockingCollection<T> 对象时,可以指定要使用的集合类型。 例如,可以为先入、先出(FIFO)行为指定一个 ConcurrentQueue<T> 对象,也可以 ConcurrentStack<T> 指定最后一个先出 (LIFO) 行为的对象。 可以使用任何集合类,这些集合类实现了 IProducerConsumerCollection<T> 接口。 的默认集合类型 BlockingCollection<T> 为 ConcurrentQueue<T>.