BlockingCollection<T>.TakeFromAny Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
CancellationToken se cancela.
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.