ConcurrentStack<T>.TryPopRange メソッド

定義

オーバーロード

TryPopRange(T[], Int32, Int32)

ConcurrentStack<T> の先頭にある複数のオブジェクトをアトミックにポップして返そうと試みます。

TryPopRange(T[])

ConcurrentStack<T> の先頭にある複数のオブジェクトをアトミックにポップして返そうと試みます。

TryPopRange(T[], Int32, Int32)

ソース:
ConcurrentStack.cs
ソース:
ConcurrentStack.cs
ソース:
ConcurrentStack.cs

ConcurrentStack<T> の先頭にある複数のオブジェクトをアトミックにポップして返そうと試みます。

public:
 int TryPopRange(cli::array <T> ^ items, int startIndex, int count);
public int TryPopRange (T[] items, int startIndex, int count);
member this.TryPopRange : 'T[] * int * int -> int
Public Function TryPopRange (items As T(), startIndex As Integer, count As Integer) As Integer

パラメーター

items
T[]

Array の先頭からポップされたオブジェクトの追加先となる ConcurrentStack<T>

startIndex
Int32

items の先頭からの要素を挿入する開始位置を示す、ConcurrentStack<T> 内の 0 から始まるオフセット。

count
Int32

ConcurrentStack<T> の先頭からポップして items に挿入する要素の数。

戻り値

スタックの一番上から正常にポップされ、items に挿入されたオブジェクトの数。

例外

items が null 参照 (Visual Basic では Nothing) です。

startIndex または count が負の値です。 または、startIndexitems の長さ以上です。

startIndex + countitems の長さを超えています。

注釈

複数の項目をポップする場合、スタックで競合がほとんどない場合は、TryPopRange を使用する方が、削除する項目ごとに 1 回を使用 TryPop するよりも効率的です。 ノードは、 items startIndex でポップされる最初の項目、startIndex + 1 でポップされる 2 番目の項目などを配列に格納します。

こちらもご覧ください

適用対象

TryPopRange(T[])

ソース:
ConcurrentStack.cs
ソース:
ConcurrentStack.cs
ソース:
ConcurrentStack.cs

ConcurrentStack<T> の先頭にある複数のオブジェクトをアトミックにポップして返そうと試みます。

public:
 int TryPopRange(cli::array <T> ^ items);
public int TryPopRange (T[] items);
member this.TryPopRange : 'T[] -> int
Public Function TryPopRange (items As T()) As Integer

パラメーター

items
T[]

Array の先頭からポップされたオブジェクトの追加先となる ConcurrentStack<T>

戻り値

ConcurrentStack<T> の先頭から正常にポップされ、items に挿入されたオブジェクトの数。

例外

items は null 引数 (Visual Basic の Nothing) です。

注釈

複数の項目をポップする場合、スタックで競合が少ない場合は、 を使用 TryPopRange する方が、削除する項目ごとに 1 回を使用 TryPop するよりも効率的です。 ノードは、 items startIndex でポップされる最初の項目、startIndex + 1 でポップされる 2 番目の項目などを配列に格納します。

コード例については、「ConcurrentStack<T>」を参照してください。

こちらもご覧ください

適用対象