BlockingCollection<T>.TryTake Method (T, Int32, CancellationToken)

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Tries to remove an item from the BlockingCollection<T> in the specified time period while observing a cancellation token.

Namespace:   System.Collections.Concurrent
Assembly:  System (in System.dll)

public bool TryTake(
	out T item,
	int millisecondsTimeout,
	CancellationToken cancellationToken
)

Parameters

item
Type: T

The item to be removed from the collection.

millisecondsTimeout
Type: System.Int32

The number of milliseconds to wait, or Infinite (-1) to wait indefinitely.

cancellationToken
Type: System.Threading.CancellationToken

A cancellation token to observe.

Return Value

Type: System.Boolean

true if an item could be removed from the collection within the specified time; otherwise, false.

Exception Condition
OperationCanceledException

The CancellationToken has been canceled.

ObjectDisposedException

The BlockingCollection<T> has been disposed or the underlying CancellationTokenSource has been disposed.

ArgumentOutOfRangeException

millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

InvalidOperationException

The underlying collection was modified outside this BlockingCollection<T> instance.

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top
Show: