Language

ICompletionService インターフェイス

定義

新しい非同期タスクの生成と、完了したタスクの結果の使用を切り離すサービス。

[Android.Runtime.Register("java/util/concurrent/CompletionService", "", "Java.Util.Concurrent.ICompletionServiceInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public interface ICompletionService : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/concurrent/CompletionService", "", "Java.Util.Concurrent.ICompletionServiceInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type ICompletionService = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

新しい非同期タスクの生成と、完了したタスクの結果の使用を切り離すサービス。 プロデューサー submit タスクを実行します。 コンシューマーは、完了したタスクを take し、完了した順序で結果を処理します。 たとえば、 CompletionService を使用して非同期 I/O を管理できます。非同期 I/O では、読み取りを実行するタスクがプログラムまたはシステムの 1 つの部分で送信され、読み取りが完了したときに、要求された順序とは異なる順序でプログラムの別の部分で処理されます。

通常、 CompletionService は個別の Executor に依存してタスクを実際に実行します。その場合、 CompletionService は内部完了キューのみを管理します。 ExecutorCompletionService クラスは、このアプローチの実装を提供します。

メモリ整合性の影響: タスクを CompletionService<i>happen-before</i> に送信する前のスレッド内のアクション。このアクションは、対応するtake()から正常に戻った後、そのタスクによって実行されます。

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

Javaドキュメント。

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

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

新しい非同期タスクの生成と、完了したタスクの結果の使用を切り離すサービス。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
Poll()

次に完了したタスクを表す Future を取得および削除します。存在しない場合は null します。

Poll(Int64, TimeUnit)

次に完了したタスクを表す Future を取得および削除し、必要に応じて、指定された待機時間まで待機します (まだ存在しない場合)。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

新しい非同期タスクの生成と、完了したタスクの結果の使用を切り離すサービス。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
Submit(ICallable)

値を返すタスクを実行用に送信し、タスクの保留中の結果を表す Future を返します。

Submit(IRunnable, Object)

実行可能タスクを実行用に送信し、そのタスクを表す Future を返します。

Take()

次に完了したタスクを表す Future を取得および削除し、まだ存在しない場合は待機します。

UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

新しい非同期タスクの生成と、完了したタスクの結果の使用を切り離すサービス。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象