BlockingCollection<T>.Take Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes an item from the BlockingCollection<T>.
Overloads
Take() |
Removes an item from the BlockingCollection<T>. |
Take(CancellationToken) |
Removes an item from the BlockingCollection<T>. |
Take()
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Removes an item from the BlockingCollection<T>.
public:
T Take();
public T Take ();
member this.Take : unit -> 'T
Public Function Take () As T
Returns
The item that was removed from the collection.
Exceptions
The BlockingCollection<T> has been disposed.
The underlying collection was modified outside of this BlockingCollection<T> instance, or the BlockingCollection<T> is empty and has been marked as complete with regards to additions.
Remarks
A call to Take may block until an item is available to be removed.
The order in which an item is removed depends on the type of collection used to create the BlockingCollection<T> instance. When you create a BlockingCollection<T> object, you can specify the type of collection to use. For example, you could specify a ConcurrentQueue<T> object for first in, first out (FIFO) behavior, or a ConcurrentStack<T> object for last in, first out (LIFO) behavior. You can use any collection class that implements the IProducerConsumerCollection<T> interface. The default collection type for BlockingCollection<T> is ConcurrentQueue<T>.
See also
Applies to
Take(CancellationToken)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Removes an item from the 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
Parameters
- cancellationToken
- CancellationToken
A token that can be used to cancel the "take" operation.
Returns
The item that was removed from the collection.
Exceptions
The CancellationToken is canceled.
The BlockingCollection<T> has been disposed.
The underlying collection was modified outside of this BlockingCollection<T> instance, or the BlockingCollection<T> is empty and has been marked as complete with regards to additions.
Remarks
A call to Take may block until an item is available to be removed or the token is canceled.
The order in which an item is removed depends on the type of collection used to create the BlockingCollection<T> instance. When you create a BlockingCollection<T> object, you can specify the type of collection to use. For example, you could specify a ConcurrentQueue<T> object for first in, first out (FIFO) behavior, or a ConcurrentStack<T> object for last in, first out (LIFO) behavior. You can use any collection class that implements the IProducerConsumerCollection<T> interface. The default collection type for BlockingCollection<T> is ConcurrentQueue<T>.