BlockingCollection<T>.Take Método

Definição

Remove um item do BlockingCollection<T>.

Sobrecargas

Nome Description
Take()

Remove um item do BlockingCollection<T>.

Take(CancellationToken)

Remove um item do BlockingCollection<T>.

Take()

Remove um item do BlockingCollection<T>.

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

Retornos

T

O item que foi removido da coleção.

Exceções

A coleção subjacente foi modificada fora dessa BlockingCollection<T> instância ou está BlockingCollection<T> vazia e foi marcada como concluída em relação a adições.

Comentários

Uma chamada pode Take ser bloqueada até que um item esteja disponível para ser removido.

A ordem na qual um item é removido depende do tipo de coleção usado para criar a BlockingCollection<T> instância. Ao criar um BlockingCollection<T> objeto, você pode especificar o tipo de coleção a ser usada. Por exemplo, você pode especificar um ConcurrentQueue<T> objeto para o comportamento fifo (primeiro a entrar, primeiro a sair) ou um ConcurrentStack<T> objeto para o comportamento lifo (primeiro a entrar, primeiro a sair). Você pode usar qualquer classe de coleção que implemente a IProducerConsumerCollection<T> interface. O tipo de coleção padrão para BlockingCollection<T> é ConcurrentQueue<T>.

Confira também

Aplica-se a

Take(CancellationToken)

Remove um item do 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

Parâmetros

cancellationToken
CancellationToken

Um token que pode ser usado para cancelar a operação "take".

Retornos

T

O item que foi removido da coleção.

Exceções

O CancellationToken cancelamento foi cancelado.

A coleção subjacente foi modificada fora dessa BlockingCollection<T> instância ou está BlockingCollection<T> vazia e foi marcada como concluída em relação a adições.

Comentários

Uma chamada pode Take ser bloqueada até que um item esteja disponível para ser removido ou o token seja cancelado.

A ordem na qual um item é removido depende do tipo de coleção usado para criar a BlockingCollection<T> instância. Ao criar um BlockingCollection<T> objeto, você pode especificar o tipo de coleção a ser usada. Por exemplo, você pode especificar um ConcurrentQueue<T> objeto para o comportamento fifo (primeiro a entrar, primeiro a sair) ou um ConcurrentStack<T> objeto para o comportamento lifo (primeiro a entrar, primeiro a sair). Você pode usar qualquer classe de coleção que implemente a IProducerConsumerCollection<T> interface. O tipo de coleção padrão para BlockingCollection<T> é ConcurrentQueue<T>.

Confira também

Aplica-se a