言語

CompletableFuture クラス

定義

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

[Android.Runtime.Register("java/util/concurrent/CompletableFuture", ApiSince=24, DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class CompletableFuture : Java.Lang.Object, IDisposable, Java.Util.Concurrent.ICompletionStage, Java.Util.Concurrent.IFuture
[<Android.Runtime.Register("java/util/concurrent/CompletableFuture", ApiSince=24, DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type CompletableFuture = class
    inherit Object
    interface ICompletionStage
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IFuture
継承
CompletableFuture
属性
実装

注釈

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

複数のスレッドが CompletableFuture を #complete complete#completeExceptionally completeExceptionally、または #cancel cancel しようとすると、そのうちの 1 つだけが成功します。

状態と結果を直接操作するためのこれらのメソッドおよび関連するメソッドに加えて、CompletableFuture は、次のポリシーを使用してインターフェイス CompletionStage を実装します。 <ul>

<li><em>non-async</em> メソッドの依存補完のために提供されるアクションは、現在の CompleteableFuture を完了するスレッド、または完了メソッドの他の呼び出し元によって実行できます。

<li>明示的な Executor 引数のないすべての <em>async</em> メソッドは、 ForkJoinPool#commonPool() を使用して実行されます (並列処理レベルが少なくとも 2 つサポートされていない場合は、各タスクを実行するために新しいスレッドが作成されます)。 監視、デバッグ、追跡を簡略化するために、生成されるすべての非同期タスクはマーカー インターフェイス AsynchronousCompletionTaskのインスタンスです。 遅延時間を伴う操作では、このクラスで定義されているアダプター メソッドを使用できます (例: supplyAsync(supplier, delayedExecutor(timeout, timeUnit)))。 遅延とタイムアウトを伴うメソッドをサポートするために、このクラスはアクションをトリガーおよび取り消すデーモン スレッドを最大 1 つ保持し、アクションの実行には保持しません。

<li>すべての CompletionStage メソッドは他のパブリック メソッドとは独立して実装されるため、1 つのメソッドの動作はサブクラス内の他のメソッドのオーバーライドの影響を受けません。

</ul>

CompletableFuture では、次のポリシーを使用して Future も実装します: <ul>

<li>Since ( FutureTaskとは異なり) このクラスは、計算を完了させる計算を直接制御することはできません。取り消しは、別の形式の例外的な完了として扱われます。 メソッド #cancel cancel は、 completeExceptionally(new CancellationException())と同じ効果があります。 メソッド #isCompletedExceptionally を使用して、CompletedableFuture が任意の例外的な方法で完了したかどうかを判断できます。

<li> CompletionException を使用した例外的な完了の場合、メソッド#get()し、対応する CompletionException に保持されているのと同じ原因で#get(long, TimeUnit)をスローExecutionException。 ほとんどのコンテキストでの使用を簡略化するために、このクラスでは、代わりに CompletionException を直接スローするメソッド #join() および #getNow も定義します。 </ul>

受け取るメソッドの完了結果 (つまり、 T型のパラメーター) を渡すために使用される引数は null になる可能性がありますが、他のパラメーターに null 値を渡すと、 NullPointerException がスローされます。

1.8 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
CompletableFuture()

不完全な新しい CompletableFuture を作成します。

CompletableFuture(IntPtr, JniHandleOwnership)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
IsCancelled

この CompletedableFuture が正常に完了する前に取り消された場合に true を返します。

IsCompletedExceptionally

この CompletedableFuture が何らかの方法で例外的に完了した場合に true を返します。

IsDone

通常、例外的、または取り消しによって、何らかの方法で完了した場合に true を返します。

JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
JniPeerMembers

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

NumberOfDependents

この CompletedableFuture の完了を待機している CompletedableFuture の推定数を返します。

PeerReference

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

(継承元 Object)
ThresholdClass

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ThresholdType

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

メソッド

名前 説明
AcceptEither(ICompletionStage, IConsumer)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、指定されたアクションの引数として対応する結果を使用して実行されます。

AcceptEitherAsync(ICompletionStage, IConsumer, IExecutor)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、指定された Executor を使用して実行され、対応する結果が指定されたアクションの引数として返されます。

AcceptEitherAsync(ICompletionStage, IConsumer)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、このステージの既定の非同期実行機能を使用して実行され、対応する結果が指定されたアクションの引数として使用されます。

AllOf(CompletableFuture[])

指定されたすべての CompleteableFuture が完了したときに完了した新しい CompleteableFuture を返します。

AnyOf(CompletableFuture[])

指定した CompleteableFuture が完了したときに完了した新しい CompleteableFuture を、同じ結果で返します。

ApplyToEither(ICompletionStage, IFunction)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、対応する結果が指定された関数の引数として実行されます。

ApplyToEitherAsync(ICompletionStage, IFunction, IExecutor)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、指定された Executor を使用して実行され、対応する結果が指定された関数の引数として返されます。

ApplyToEitherAsync(ICompletionStage, IFunction)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、このステージの既定の非同期実行機能を使用して実行され、対応する結果が指定された関数の引数として使用されます。

Cancel(Boolean)

まだ完了していない場合は、この CompleteableFuture を CancellationExceptionで完了します。

Clone()

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

(継承元 Object)
Complete(Object)

まだ完了していない場合は、 #get() および関連するメソッドによって返される値を指定された値に設定します。

CompleteAsync(ISupplier, IExecutor)

指定された Executor を使用して非同期タスクから呼び出された特定の Supplier 関数の結果を使用して、この CompleteableFuture を完了します。

CompleteAsync(ISupplier)

既定の Executor を使用して非同期タスクから呼び出された特定の Supplier 関数の結果を使用して、この CompleteableFuture を完了します。

CompletedFuture(Object)

指定された値で既に完了している新しい CompletedableFuture を返します。

CompletedStage(Object)

指定された値で既に完了し、インターフェイス CompletionStage内のメソッドのみをサポートする新しい CompletionStage を返します。

CompleteExceptionally(Throwable)

まだ完了していない場合は、 #get() および関連するメソッドの呼び出しによって、指定された例外がスローされます。

CompleteOnTimeout(Object, Int64, TimeUnit)

指定されたタイムアウトの前に完了していない場合は、指定された値でこの CompleteableFuture を完了します。

Construct(JniObjectReference, JniObjectReferenceOptions)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
Copy()

正常に完了したときに、この CompleteableFuture と同じ値で正常に完了した新しい CompleteableFuture を返します。

DefaultExecutor()

Executor を指定しない非同期メソッドに使用される既定の Executor を返します。

DelayedExecutor(Int64, TimeUnit, IExecutor)

指定された遅延の後に特定のベース Executor にタスクを送信する新しい Executor を返します (または、正でない場合は遅延なし)。

DelayedExecutor(Int64, TimeUnit)

指定された遅延の後にタスクを既定の Executor に送信する新しい Executor を返します (正でない場合は遅延なし)。

Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
Equals(Object)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
Exceptionally(IFunction)

この CompleteableFuture が完了したときに完了した新しい CompleteableFuture を返します。例外の指定された関数の結果により、例外が例外として完了したときにこの CompleteableFuture の完了がトリガーされます。それ以外の場合、この CompleteableFuture が正常に完了すると、返された CompleteableFuture も同じ値で正常に完了します。

ExceptionallyAsync(IFunction, IExecutor)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ExceptionallyAsync(IFunction)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ExceptionallyCompose(IFunction)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ExceptionallyComposeAsync(IFunction, IExecutor)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ExceptionallyComposeAsync(IFunction)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

ExceptionNow()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

FailedFuture(Throwable)

指定された例外で既に例外的に完了している新しい CompletableFuture を返します。

FailedStage(Throwable)

指定された例外で既に例外的に完了し、インターフェイス CompletionStage内のメソッドのみをサポートする新しい CompletionStage を返します。

Get()

この将来が完了するまで必要に応じて待機し、結果を返します。

Get(Int64, TimeUnit)

必要に応じて、この将来が完了するまで最大で指定された時間待機し、その結果 (使用可能な場合) を返します。

GetHashCode()

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

(継承元 Object)
GetNow(Object)

完了した場合は結果値を返します (または発生した例外をスローします)、それ以外の場合は指定された値IfAbsent を返します。

Handle(IBiFunction)

このステージが正常または例外的に完了したときに、このステージの結果と例外を指定された関数の引数として実行する新しい CompletionStage を返します。

HandleAsync(IBiFunction, IExecutor)

このステージが正常または例外的に完了したときに、指定された Executor を使用して実行される新しい CompletionStage を返します。このステージの結果と例外は、指定された関数の引数として使用されます。

HandleAsync(IBiFunction)

このステージが正常または例外的に完了したときに、このステージの既定の非同期実行機能を使用して実行される新しい CompletionStage を返します。このステージの結果と例外は、指定された関数の引数として使用されます。

JavaFinalize()
古い.

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

(継承元 Object)
Join()

完了時に結果値を返すか、例外が例外的に完了した場合は (オフ) 例外をスローします。

MinimalCompletionStage()

正常に完了したときにこの CompleteableFuture と同じ値で正常に完了し、独立して完了したり、インターフェイス CompletionStageのメソッドで定義されていない方法で使用したりできない新しい CompletionStage を返します。

NewIncompleteFuture()

CompletionStage メソッドによって返される型の新しい不完全な CompletableFuture を返します。

Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
ObtrudeException(Throwable)

メソッド #get() および関連するメソッドの後続の呼び出しでは、指定された例外が強制的にスローされます (まだ完了しているかどうかに関係なく)。

ObtrudeValue(Object)

メソッド #get() および関連するメソッドによって、その後に返される値を強制的に設定またはリセットします (まだ完了しているかどうかに関係なく)。

OrTimeout(Int64, TimeUnit)

指定されたタイムアウトの前に完了していない場合は、この CompleteableFuture を TimeoutException で例外的に完了します。

ResultNow()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

RunAfterBoth(ICompletionStage, IRunnable)

このステージと他の特定のステージの両方が正常に完了すると、指定されたアクションを実行する新しい CompletionStage を返します。

RunAfterBothAsync(ICompletionStage, IRunnable, IExecutor)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、指定された Executor を使用して指定されたアクションが実行されます。

RunAfterBothAsync(ICompletionStage, IRunnable)

このステージと他の特定のステージの両方が正常に完了すると、このステージの既定の非同期実行機能を使用して指定されたアクションを実行する新しい CompletionStage を返します。

RunAfterEither(ICompletionStage, IRunnable)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、指定されたアクションが実行されます。

RunAfterEitherAsync(ICompletionStage, IRunnable, IExecutor)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、指定された Executor を使用して指定されたアクションが実行されます。

RunAfterEitherAsync(ICompletionStage, IRunnable)

新しい CompletionStage を返します。このステージまたは他の特定のステージが正常に完了すると、このステージの既定の非同期実行機能を使用して指定されたアクションが実行されます。

RunAsync(IRunnable, IExecutor)

指定されたアクションを実行した後、特定の Executor で実行されているタスクによって非同期的に完了される新しい CompletedableFuture を返します。

RunAsync(IRunnable)

指定されたアクションを実行した後、 ForkJoinPool#commonPool() で実行されているタスクによって非同期的に完了される新しい CompletedableFuture を返します。

SetHandle(IntPtr, JniHandleOwnership)

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

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

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
State()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

SupplyAsync(ISupplier, IExecutor)

指定された実行プログラムで実行されているタスクが、指定された Supplier を呼び出して取得した値を使用して非同期的に完了する新しい CompletableFuture を返します。

SupplyAsync(ISupplier)

指定された Supplier を呼び出して取得した値を使用して、 ForkJoinPool#commonPool() で実行されているタスクによって非同期的に完了された新しい CompletableFuture を返します。

ThenAccept(IConsumer)

このステージが正常に完了したときに、このステージの結果を指定されたアクションの引数として実行する新しい CompletionStage を返します。

ThenAcceptAsync(IConsumer, IExecutor)

このステージが正常に完了したときに、指定された Executor を使用して実行される新しい CompletionStage を返します。このステージの結果は、指定されたアクションの引数として使用されます。

ThenAcceptAsync(IConsumer)

このステージが正常に完了すると、このステージの既定の非同期実行機能を使用して実行され、このステージの結果が指定されたアクションの引数として使用される新しい CompletionStage を返します。

ThenAcceptBoth(ICompletionStage, IBiConsumer)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、2 つの結果が指定されたアクションの引数として実行されます。

ThenAcceptBothAsync(ICompletionStage, IBiConsumer, IExecutor)

新しい CompletionStage を返します。このステージと指定されたステージの両方が正常に完了すると、指定された Executor を使用して実行され、指定されたアクションの引数として 2 つの結果が返されます。

ThenAcceptBothAsync(ICompletionStage, IBiConsumer)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、このステージの既定の非同期実行機能を使用して実行され、2 つの結果が指定されたアクションの引数として使用されます。

ThenApply(IFunction)

このステージが正常に完了すると、このステージの結果を指定された関数の引数として実行する新しい CompletionStage を返します。

ThenApplyAsync(IFunction, IExecutor)

このステージが正常に完了すると、指定された Executor を使用して実行される新しい CompletionStage を返します。このステージの結果は、指定された関数の引数として使用されます。

ThenApplyAsync(IFunction)

このステージが正常に完了したときに、このステージの既定の非同期実行機能を使用して実行される新しい CompletionStage を返します。このステージの結果は、指定された関数の引数として使用されます。

ThenCombine(ICompletionStage, IBiFunction)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、2 つの結果が指定された関数の引数として実行されます。

ThenCombineAsync(ICompletionStage, IBiFunction, IExecutor)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、指定された Executor を使用して実行され、指定された関数の引数として 2 つの結果が返されます。

ThenCombineAsync(ICompletionStage, IBiFunction)

新しい CompletionStage を返します。このステージと他の特定のステージの両方が正常に完了すると、このステージの既定の非同期実行機能を使用して実行され、2 つの結果が指定された関数の引数として使用されます。

ThenCompose(IFunction)

指定された関数によって返される CompletionStage と同じ値で完了した新しい CompletionStage を返します。

ThenComposeAsync(IFunction, IExecutor)

指定された Executor を使用して実行される、指定された関数によって返される CompletionStage と同じ値で完了した新しい CompletionStage を返します。

ThenComposeAsync(IFunction)

このステージの既定の非同期実行機能を使用して実行される、指定された関数によって返される CompletionStage と同じ値で完了した新しい CompletionStage を返します。

ThenRun(IRunnable)

このステージが正常に完了したときに、指定されたアクションを実行する新しい CompletionStage を返します。

ThenRunAsync(IRunnable, IExecutor)

このステージが正常に完了すると、指定された Executor を使用して指定されたアクションを実行する新しい CompletionStage を返します。

ThenRunAsync(IRunnable)

このステージが正常に完了したときに、このステージの既定の非同期実行機能を使用して指定されたアクションを実行する新しい CompletionStage を返します。

ToArray<T>()

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

(継承元 Object)
ToCompletableFuture()

この CompletableFuture を返します。

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)
WhenComplete(IBiConsumer)

このステージの完了時に指定されたアクションを実行する、このステージと同じ結果または例外を持つ新しい CompletionStage を返します。

WhenCompleteAsync(IBiConsumer, IExecutor)

このステージの完了時に指定された Executor を使用して指定されたアクションを実行する、このステージと同じ結果または例外を持つ新しい CompletionStage を返します。

WhenCompleteAsync(IBiConsumer)

このステージの完了時に、このステージの既定の非同期実行機能を使用して指定されたアクションを実行する、このステージと同じ結果または例外を持つ新しい CompletionStage を返します。

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

名前 説明
IJavaPeerable.Disposed()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
IJavaPeerable.Finalized()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

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

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

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

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

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

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

拡張メソッド

名前 説明
GetAsync(IFuture, Int64, TimeUnit)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

GetAsync(IFuture)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

明示的に完了し (値と状態を設定する)、Futureとして使用できるCompletionStage。その完了時にトリガーされる依存関数とアクションをサポートします。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象