BlockingCollection<T>.Take Metodo

Definizione

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

T

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

T

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>.

Vedi anche

Si applica a