BlockingCollection<T>.TakeFromAny Método

Definición

Toma un elemento de cualquiera de las instancias especificadas BlockingCollection<T> .

Sobrecargas

Nombre Description
TakeFromAny(BlockingCollection<T>[], T)

Toma un elemento de cualquiera de las instancias especificadas BlockingCollection<T> .

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

Toma un elemento de cualquiera de las instancias especificadas BlockingCollection<T> mientras observa el token de cancelación especificado.

TakeFromAny(BlockingCollection<T>[], T)

Toma un elemento de cualquiera de las instancias especificadas BlockingCollection<T> .

public:
 static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T) As Integer

Parámetros

collections
BlockingCollection<T>[]

Matriz de colecciones.

item
T

Elemento que se quitó de una de las colecciones.

Devoluciones

Índice de la colección en la collections matriz desde la que se quitó el elemento.

Excepciones

Se ha eliminado al menos una de las BlockingCollection<T> instancias.

El collections argumento es NULL.

El recuento de collections es mayor que el tamaño máximo de 62 para STA y 63 para MTA.

El collections argumento es una matriz de longitud 0 o contiene un elemento NULL o CompleteAdding() se ha llamado a en la colección.

Al menos una de las colecciones subyacentes se modificó fuera de su BlockingCollection<T> instancia.

Comentarios

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

Consulte también

Se aplica a

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

Toma un elemento de cualquiera de las instancias especificadas BlockingCollection<T> mientras observa el token de cancelación especificado.

public:
 static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, System::Threading::CancellationToken cancellationToken);
public static int TakeFromAny(System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, System.Threading.CancellationToken cancellationToken);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * System.Threading.CancellationToken -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, cancellationToken As CancellationToken) As Integer

Parámetros

collections
BlockingCollection<T>[]

Matriz de colecciones.

item
T

Elemento que se quitó de una de las colecciones.

cancellationToken
CancellationToken

Token de cancelación que se va a observar.

Devoluciones

Índice de la colección en la collections matriz desde la que se quitó el elemento.

Excepciones

Al menos una de las colecciones subyacentes se modificó fuera de su BlockingCollection<T> instancia.

El collections argumento es NULL.

El recuento de collections es mayor que el tamaño máximo de 62 para STA y 63 para MTA.

El collections argumento es una matriz de longitud 0 o contiene un elemento NULL o CompleteAdding() se ha llamado a en la colección.

Se ha eliminado al menos una de las BlockingCollection<T> instancias.

Comentarios

Una llamada a TakeFromAny puede bloquearse hasta que un elemento esté disponible para quitarse. El método devolverá al principio una operationCanceledException si se cancela el token.

Consulte también

Se aplica a