BlockingCollection<T>.Take Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Удаляет элемент из BlockingCollection<T>.
Перегрузки
Take() |
Удаляет элемент из BlockingCollection<T>. |
Take(CancellationToken) |
Удаляет элемент из BlockingCollection<T>. |
Take()
- Исходный код:
- BlockingCollection.cs
- Исходный код:
- BlockingCollection.cs
- Исходный код:
- BlockingCollection.cs
Удаляет элемент из BlockingCollection<T>.
public:
T Take();
public T Take ();
member this.Take : unit -> 'T
Public Function Take () As T
Возвращаемое значение
Элемент, удаленный из коллекции.
Исключения
Объект BlockingCollection<T> удален.
Базовая коллекция была изменена за пределами этого BlockingCollection<T> экземпляра или BlockingCollection<T> является пустой и помечена как завершенная в отношении дополнений.
Комментарии
Вызов может блокироваться Take , пока элемент не станет доступен для удаления.
Порядок, в котором удаляется элемент, зависит от типа коллекции, использованного для создания экземпляра BlockingCollection<T>. При создании объекта BlockingCollection<T> можно указать тип коллекции для использования. Например, можно задать объект ConcurrentQueue<T> для использования принципа "первым поступил — первым обслужен", или объект ConcurrentStack<T> для использования принципа "последним поступил — первым обслужен". Использовать можно любой класс коллекции, реализующий интерфейс IProducerConsumerCollection<T>. Тип коллекции, используемый в классе BlockingCollection<T> по умолчанию — это ConcurrentQueue<T>.
См. также раздел
Применяется к
Take(CancellationToken)
- Исходный код:
- BlockingCollection.cs
- Исходный код:
- BlockingCollection.cs
- Исходный код:
- BlockingCollection.cs
Удаляет элемент из 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
Параметры
- cancellationToken
- CancellationToken
Маркер, который можно использовать для отмены операции "take".
Возвращаемое значение
Элемент, удаленный из коллекции.
Исключения
Объект BlockingCollection<T> удален.
Базовая коллекция была изменена за пределами этого BlockingCollection<T> экземпляра или BlockingCollection<T> является пустой и помечена как завершенная в отношении дополнений.
Комментарии
Вызов может блокироваться Take до тех пор, пока элемент не будет доступен для удаления или маркер не будет отменен.
Порядок, в котором удаляется элемент, зависит от типа коллекции, использованного для создания экземпляра BlockingCollection<T>. При создании объекта BlockingCollection<T> можно указать тип коллекции для использования. Например, можно задать объект ConcurrentQueue<T> для использования принципа "первым поступил — первым обслужен", или объект ConcurrentStack<T> для использования принципа "последним поступил — первым обслужен". Использовать можно любой класс коллекции, реализующий интерфейс IProducerConsumerCollection<T>. Тип коллекции, используемый в классе BlockingCollection<T> по умолчанию — это ConcurrentQueue<T>.