BlockingCollection<T>.Take Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rimuove un elemento da BlockingCollection<T>.
Overload
| Nome | Descrizione |
|---|---|
| Take() |
Rimuove un elemento da BlockingCollection<T>. |
| Take(CancellationToken) |
Rimuove un elemento da BlockingCollection<T>. |
Take()
Rimuove un elemento da BlockingCollection<T>.
public:
T Take();
public T Take();
member this.Take : unit -> 'T
Public Function Take () As T
Valori restituiti
Elemento rimosso dall'insieme.
Eccezioni
L'oggetto BlockingCollection<T> è stato eliminato.
La raccolta sottostante è stata modificata all'esterno di questa BlockingCollection<T> istanza oppure BlockingCollection<T> è vuota ed è stata contrassegnata come completa per quanto riguarda le aggiunte.
Commenti
Una chiamata a può bloccarsi fino a Take quando non è disponibile un elemento da rimuovere.
L'ordine in cui un elemento viene rimosso dipende dal tipo di raccolta utilizzato per creare l'istanza BlockingCollection<T> . Quando si crea un BlockingCollection<T> oggetto, è possibile specificare il tipo di raccolta da utilizzare. Ad esempio, è possibile specificare un ConcurrentQueue<T> oggetto per primo in, il comportamento FIFO (First Out) o un ConcurrentStack<T> oggetto per l'ultimo comportamento (LIFO). È possibile usare qualsiasi classe di raccolta che implementa l'interfaccia IProducerConsumerCollection<T> . Il tipo di raccolta predefinito per BlockingCollection<T> è ConcurrentQueue<T>.
Vedi anche
Si applica a
Take(CancellationToken)
Rimuove un elemento da 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
Parametri
- cancellationToken
- CancellationToken
Token che può essere usato per annullare l'operazione "take".
Valori restituiti
Elemento rimosso dall'insieme.
Eccezioni
L'oggetto CancellationToken viene annullato.
L'oggetto BlockingCollection<T> è stato eliminato.
La raccolta sottostante è stata modificata all'esterno di questa BlockingCollection<T> istanza oppure BlockingCollection<T> è vuota ed è stata contrassegnata come completa per quanto riguarda le aggiunte.
Commenti
Una chiamata a può bloccarsi fino a Take quando non è disponibile un elemento da rimuovere o il token viene annullato.
L'ordine in cui un elemento viene rimosso dipende dal tipo di raccolta utilizzato per creare l'istanza BlockingCollection<T> . Quando si crea un BlockingCollection<T> oggetto, è possibile specificare il tipo di raccolta da utilizzare. Ad esempio, è possibile specificare un ConcurrentQueue<T> oggetto per primo in, il comportamento FIFO (First Out) o un ConcurrentStack<T> oggetto per l'ultimo comportamento (LIFO). È possibile usare qualsiasi classe di raccolta che implementa l'interfaccia IProducerConsumerCollection<T> . Il tipo di raccolta predefinito per BlockingCollection<T> è ConcurrentQueue<T>.