BlockingCollection<T>::TryTake Method (T%, Int32)
Tries to remove an item from the BlockingCollection<T> in the specified time period.
Assembly: System (in System.dll)
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.
Return Value
Type: System::Booleantrue if an item could be removed from the collection within the specified time; otherwise, false.
| Exception | Condition |
|---|---|
| ObjectDisposedException | The BlockingCollection<T> 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 of 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>, 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>.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1