BlockingCollection<T>.Take Método

Definición

Quita un elemento de .BlockingCollection<T>

Sobrecargas

Nombre Description
Take()

Quita un elemento de .BlockingCollection<T>

Take(CancellationToken)

Quita un elemento de .BlockingCollection<T>

Take()

Quita un elemento de .BlockingCollection<T>

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

Devoluciones

T

Elemento que se quitó de la colección.

Excepciones

La colección subyacente se modificó fuera de esta BlockingCollection<T> instancia, o está BlockingCollection<T> vacía y se ha marcado como completa con respecto a las adiciones.

Comentarios

Una llamada a Take puede bloquearse hasta que un elemento esté disponible para quitarse.

El orden en el que se quita un elemento depende del tipo de colección utilizado para crear la BlockingCollection<T> instancia. Al crear un BlockingCollection<T> objeto, puede especificar el tipo de colección que se va a usar. Por ejemplo, podría especificar un ConcurrentQueue<T> objeto para el comportamiento primero en in, primero fuera (FIFO) o un ConcurrentStack<T> objeto para el último en, primero en salir (LIFO). Puede usar cualquier clase de colección que implemente la IProducerConsumerCollection<T> interfaz . El tipo de colección predeterminado para BlockingCollection<T> es ConcurrentQueue<T>.

Consulte también

Se aplica a

Take(CancellationToken)

Quita un elemento de .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

Token que se puede usar para cancelar la operación "take".

Devoluciones

T

Elemento que se quitó de la colección.

Excepciones

La colección subyacente se modificó fuera de esta BlockingCollection<T> instancia, o está BlockingCollection<T> vacía y se ha marcado como completa con respecto a las adiciones.

Comentarios

Una llamada a Take puede bloquearse hasta que un elemento esté disponible para quitarse o se cancele el token.

El orden en el que se quita un elemento depende del tipo de colección utilizado para crear la BlockingCollection<T> instancia. Al crear un BlockingCollection<T> objeto, puede especificar el tipo de colección que se va a usar. Por ejemplo, podría especificar un ConcurrentQueue<T> objeto para el comportamiento primero en in, primero fuera (FIFO) o un ConcurrentStack<T> objeto para el último en, primero en salir (LIFO). Puede usar cualquier clase de colección que implemente la IProducerConsumerCollection<T> interfaz . El tipo de colección predeterminado para BlockingCollection<T> es ConcurrentQueue<T>.

Consulte también

Se aplica a