다음을 통해 공유


BlockingCollection<T>.TakeFromAny 메서드

정의

지정된 BlockingCollection<T> 인스턴스 중 하나에서 항목을 빼냅니다.

오버로드

TakeFromAny(BlockingCollection<T>[], T)

지정된 BlockingCollection<T> 인스턴스 중 하나에서 항목을 빼냅니다.

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

지정된 취소 토큰을 관찰하는 동안 지정된 BlockingCollection<T> 인스턴스 중 하나에서 항목을 빼냅니다.

TakeFromAny(BlockingCollection<T>[], T)

Source:
BlockingCollection.cs
Source:
BlockingCollection.cs
Source:
BlockingCollection.cs

지정된 BlockingCollection<T> 인스턴스 중 하나에서 항목을 빼냅니다.

public:
 static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T) As Integer

매개 변수

collections
BlockingCollection<T>[]

컬렉션의 배열입니다.

item
T

컬렉션 중 하나에서 제거된 항목입니다.

반환

collections 배열에서 항목이 제거된 컬렉션의 인덱스입니다.

예외

BlockingCollection<T> 인스턴스가 하나 이상 삭제되었습니다.

collections 인수가 null입니다.

collections 횟수가 최대 크기(STA의 경우 62, MTA의 경우 63)보다 큽니다.

collections 인수가 길이가 0 인 배열이거나 Null 요소를 포함하거나 CompleteAdding()이 컬렉션에서 호출됩니다.

기본 컬렉션 중 하나 이상이 BlockingCollection<T> 인스턴스 외부에서 수정되었습니다.

설명

TakeFromAny에 대한 호출은 항목을 제거할 수 있을 때까지 차단될 수 있습니다.

추가 정보

적용 대상

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

Source:
BlockingCollection.cs
Source:
BlockingCollection.cs
Source:
BlockingCollection.cs

지정된 취소 토큰을 관찰하는 동안 지정된 BlockingCollection<T> 인스턴스 중 하나에서 항목을 빼냅니다.

public:
 static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, System::Threading::CancellationToken cancellationToken);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, System.Threading.CancellationToken cancellationToken);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, System.Threading.CancellationToken cancellationToken);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * System.Threading.CancellationToken -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, cancellationToken As CancellationToken) As Integer

매개 변수

collections
BlockingCollection<T>[]

컬렉션의 배열입니다.

item
T

컬렉션 중 하나에서 제거된 항목입니다.

cancellationToken
CancellationToken

관찰할 취소 토큰입니다.

반환

collections 배열에서 항목이 제거된 컬렉션의 인덱스입니다.

예외

CancellationToken이 취소되었습니다.

기본 컬렉션 중 하나 이상이 BlockingCollection<T> 인스턴스 외부에서 수정되었습니다.

collections 인수가 null입니다.

collections 횟수가 최대 크기(STA의 경우 62, MTA의 경우 63)보다 큽니다.

collections 인수가 길이가 0 인 배열이거나 Null 요소를 포함하거나 CompleteAdding()이 컬렉션에서 호출됩니다.

BlockingCollection<T> 인스턴스가 하나 이상 삭제되었습니다.

설명

TakeFromAny에 대한 호출은 항목을 제거할 수 있을 때까지 차단될 수 있습니다. 토큰이 취소되면 메서드는 OperationCanceledException을 사용하여 일찍 반환됩니다.

추가 정보

적용 대상