ConcurrentLinkedQueue クラス

定義

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

[Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ConcurrentLinkedQueue : Java.Util.AbstractQueue, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/util/concurrent/ConcurrentLinkedQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ConcurrentLinkedQueue = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IQueue
    interface ICollection
    interface IIterable
継承
属性
実装

注釈

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。 このキューは、要素 FIFO (先入れ先出し) を並べ替えます。 <キューの em>head</em> は、キュー上で最も長い時間経過した要素です。 <キューの末尾<>/em> は、キューに最も短い時間が経過した要素です。 キューの末尾に新しい要素が挿入され、キュー取得操作によってキューの先頭にある要素が取得されます。 ConcurrentLinkedQueueは、多くのスレッドが共通コレクションへのアクセスを共有する場合に適した選択肢です。 他のほとんどの同時実行コレクション実装と同様に、このクラスでは要素の null 使用は許可されません。

この実装では、Maged M. Michael と Michael L. Scott の「Simple、Fast、および Practical Non-Blocking and Blocking Concurrent Queue Algorithms」で説明されているアルゴリズムに基づいて、効率的<な em>非<ブロッキング/em> アルゴリズムが採用されています。

反復子は 弱い一貫性を持ち、反復子の作成以降のある時点でのキューの状態を反映する要素を返します。 これらは、em>not</em> スローjava.util.ConcurrentModificationExceptionを行い<、他の操作と同時に進行する可能性があります。 反復子の作成が 1 回だけ返されるため、キューに含まれる要素。

ほとんどのコレクションとは異なり、 size メソッドは定数時間操作である <em>NOT</em> です。 これらのキューの非同期性により、現在の要素数を決定するには要素の走査が必要になるため、トラバーサル中にこのコレクションが変更されると、不正確な結果が報告される可能性があります。

、 などの#addAll#removeIf#forEach複数の要素を追加、削除、または調べる一括操作は、<><>アトミックに実行することが保証されていません。 たとえば、操作と同時に forEach トラバーサルを実行すると、 addAll 追加された要素の一部のみが観察される場合があります。

このクラスとその反復子は、 インターフェイスと Iterator インターフェイスのすべての <em>optional</em> メソッドをQueue実装します。

メモリ整合性の影響: 他の同時実行コレクションと同様に、オブジェクトを i>に<ConcurrentLinkedQueue配置する前のスレッド内のアクションは、別のスレッド内の からConcurrentLinkedQueueその要素にアクセスまたは削除された後に発生<する前/i> アクションです。

このクラスは、 Java Collections Framework のメンバーです。

1\.5 で追加されました。

java.util.concurrent.ConcurrentLinkedQueueJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

コンストラクター

ConcurrentLinkedQueue()

最初は空の を ConcurrentLinkedQueue 作成します。

ConcurrentLinkedQueue(ICollection)

コレクションの ConcurrentLinkedQueue 反復子のトラバーサル順序で追加された、指定されたコレクションの要素を最初に含む を作成します。

ConcurrentLinkedQueue(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
JniPeerMembers

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

PeerReference

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
ThresholdClass

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
Dispose(Boolean)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
Element()

このキューの先頭を取得しますが、削除しません。

(継承元 AbstractQueue)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ForEach(IConsumer)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Iterator()

このキュー内の要素に対する反復子を適切な順序で返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Offer(Object)

指定した要素をこのキューの末尾に挿入します。

Peek()

このキューの先頭を取得しますが、削除しません。または、このキューが空の場合は を返 null します。

Poll()

このキューの先頭を取得して削除するか、このキューが空の場合は を null 返します。

Remove()

このキューの先頭を取得して削除します。

(継承元 AbstractQueue)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

RetainAll(ICollection)

追加する

(継承元 AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
Size()

このキュー内の要素の数を返します。

Spliterator()

このキュー内の Spliterator 要素に対して を返します。

ToArray()

追加する

(継承元 AbstractCollection)
ToArray(Object[])

追加する

(継承元 AbstractCollection)
ToArray<T>()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。>

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.Finalized()

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

GetJniTypeName(IJavaPeerable)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

ToEnumerable(IIterable)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

ToEnumerable<T>(IIterable)

リンクされたノードに基づく無制限のスレッド セーフ キュー キュー。

適用対象