SynchronousQueue クラス

定義

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

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

注釈

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。 同期キューには内部容量は存在せず、容量も 1 つもありません。 同期キューで peek することはできません。要素が存在するのは、要素を削除しようとしたときだけであるためです。別のスレッドが削除しようとしている場合を除き、(任意のメソッドを使用して) 要素を挿入することはできません。反復処理する必要がないため、反復処理できません。 キューの <em>head</em> は、キューに入っている最初の挿入スレッドがキューに追加しようとしている要素です。そのようなキューに入っているスレッドがない場合、削除に使用できる要素はなく、 poll()nullを返します。 他の Collection メソッド ( contains など) の目的で、 SynchronousQueue は空のコレクションとして機能します。 このキューでは、 null 要素は許可されません。

同期キューは、CSP および Ada で使用されるランデブー チャネルに似ています。 これらはハンドオフ設計に適しており、あるスレッドで実行されているオブジェクトは、情報、イベント、またはタスクを渡すために、別のスレッドで実行されているオブジェクトと同期する必要があります。

このクラスは、待機中のプロデューサー スレッドとコンシューマー スレッドを並べ替える場合に、オプションの公平性ポリシーをサポートします。 既定では、この順序は保証されません。 ただし、公平性が true に設定されたキューは、FIFO 順にスレッドアクセスを許可します。

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

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

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

Javaドキュメント。

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

コンストラクター

名前 説明
SynchronousQueue()

非ペア アクセス ポリシーを使用して SynchronousQueue を作成します。

SynchronousQueue(Boolean)

指定した公平性ポリシーを使用して SynchronousQueue を作成します。

SynchronousQueue(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
JniPeerMembers

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Add(Object)

追加する

(継承元 AbstractCollection)
AddAll(ICollection)

追加する

(継承元 AbstractCollection)
Clear()

追加する

(継承元 AbstractCollection)
Clone()

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

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
Contains(Object)

追加する

(継承元 AbstractCollection)
ContainsAll(ICollection)

追加する

(継承元 AbstractCollection)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
DrainTo(ICollection, Int32)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

DrainTo(ICollection)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

Element()

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

(継承元 AbstractQueue)
Equals(Object)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
Iterator()

hasNextが常にfalseを返す空の反復子を返します。

JavaFinalize()

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Offer(Object, Int64, TimeUnit)

指定した要素をこのキューに挿入し、必要に応じて、別のスレッドが受信するまで、指定した待機時間まで待機します。

Offer(Object)

別のスレッドが受け取りを待機している場合に、指定した要素をこのキューに挿入します。

Peek()

常に null を返します。

Poll()

別のスレッドが現在要素を使用可能にしている場合は、このキューの先頭を取得して削除します。

Poll(Int64, TimeUnit)

このキューの先頭を取得して削除し、必要に応じて、指定された待機時間まで待機し、別のスレッドがキューを挿入します。

Put(Object)

指定した要素をこのキューに追加し、必要に応じて別のスレッドが受け取るのを待機します。

RemainingCapacity()

常にゼロが返されます。

Remove()

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

(継承元 AbstractQueue)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RetainAll(ICollection)

追加する

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

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

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
Size()

常にゼロが返されます。

Spliterator()

Spliterator#trySplit() trySplitの呼び出しが常にnullを返す空の分割子を返します。

Take()

このキューの先頭を取得して削除し、必要に応じて別のスレッドがキューを挿入するのを待機します。

ToArray()

追加する

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

追加する

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

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

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

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

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

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

(継承元 Object)
Wait(Int64)

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

(継承元 Object)

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

名前 説明
IJavaPeerable.Disposed()

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
IJavaPeerable.Finalized()

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

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

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

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

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

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

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

OfferAsync(IBlockingQueue, Object)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

PollAsync(IBlockingQueue, Int64, TimeUnit)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

PutAsync(IBlockingQueue, Object)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

TakeAsync(IBlockingQueue)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

ToEnumerable(IIterable)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

ToEnumerable<T>(IIterable)

各挿入操作が別のスレッドによる対応する削除操作を待機する必要がある BlockingQueue ブロック キュー。その逆も同様です。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象