CompletableFuture クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
明示的に完了し (値と状態を設定する)、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
- 継承
- 属性
- 実装
注釈
明示的に完了し (値と状態を設定する)、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 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| CompletableFuture() |
不完全な新しい CompletableFuture を作成します。 |
| CompletableFuture(IntPtr, JniHandleOwnership) |
明示的に完了し (値と状態を設定する)、 |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| IsCancelled |
この CompletedableFuture が正常に完了する前に取り消された場合に |
| IsCompletedExceptionally |
この CompletedableFuture が何らかの方法で例外的に完了した場合に |
| IsDone |
通常、例外的、または取り消しによって、何らかの方法で完了した場合に |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
明示的に完了し (値と状態を設定する)、 |
| JniPeerMembers |
明示的に完了し (値と状態を設定する)、 |
| NumberOfDependents |
この CompletedableFuture の完了を待機している CompletedableFuture の推定数を返します。 |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| ThresholdClass |
明示的に完了し (値と状態を設定する)、 |
| ThresholdType |
明示的に完了し (値と状態を設定する)、 |
メソッド
| 名前 | 説明 |
|---|---|
| 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 を |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Complete(Object) |
まだ完了していない場合は、 |
| CompleteAsync(ISupplier, IExecutor) |
指定された Executor を使用して非同期タスクから呼び出された特定の Supplier 関数の結果を使用して、この CompleteableFuture を完了します。 |
| CompleteAsync(ISupplier) |
既定の Executor を使用して非同期タスクから呼び出された特定の Supplier 関数の結果を使用して、この CompleteableFuture を完了します。 |
| CompletedFuture(Object) |
指定された値で既に完了している新しい CompletedableFuture を返します。 |
| CompletedStage(Object) |
指定された値で既に完了し、インターフェイス |
| CompleteExceptionally(Throwable) |
まだ完了していない場合は、 |
| CompleteOnTimeout(Object, Int64, TimeUnit) |
指定されたタイムアウトの前に完了していない場合は、指定された値でこの CompleteableFuture を完了します。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
明示的に完了し (値と状態を設定する)、 |
| 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() |
明示的に完了し (値と状態を設定する)、 |
| Equals(Object) |
明示的に完了し (値と状態を設定する)、 |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| Exceptionally(IFunction) |
この CompleteableFuture が完了したときに完了した新しい CompleteableFuture を返します。例外の指定された関数の結果により、例外が例外として完了したときにこの CompleteableFuture の完了がトリガーされます。それ以外の場合、この CompleteableFuture が正常に完了すると、返された CompleteableFuture も同じ値で正常に完了します。 |
| ExceptionallyAsync(IFunction, IExecutor) |
明示的に完了し (値と状態を設定する)、 |
| ExceptionallyAsync(IFunction) |
明示的に完了し (値と状態を設定する)、 |
| ExceptionallyCompose(IFunction) |
明示的に完了し (値と状態を設定する)、 |
| ExceptionallyComposeAsync(IFunction, IExecutor) |
明示的に完了し (値と状態を設定する)、 |
| ExceptionallyComposeAsync(IFunction) |
明示的に完了し (値と状態を設定する)、 |
| ExceptionNow() |
明示的に完了し (値と状態を設定する)、 |
| FailedFuture(Throwable) |
指定された例外で既に例外的に完了している新しい CompletableFuture を返します。 |
| FailedStage(Throwable) |
指定された例外で既に例外的に完了し、インターフェイス |
| 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 と同じ値で正常に完了し、独立して完了したり、インターフェイス |
| NewIncompleteFuture() |
CompletionStage メソッドによって返される型の新しい不完全な CompletableFuture を返します。 |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| ObtrudeException(Throwable) |
メソッド |
| ObtrudeValue(Object) |
メソッド |
| OrTimeout(Int64, TimeUnit) |
指定されたタイムアウトの前に完了していない場合は、この CompleteableFuture を |
| ResultNow() |
明示的に完了し (値と状態を設定する)、 |
| 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) |
指定されたアクションを実行した後、 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
明示的に完了し (値と状態を設定する)、 |
| State() |
明示的に完了し (値と状態を設定する)、 |
| SupplyAsync(ISupplier, IExecutor) |
指定された実行プログラムで実行されているタスクが、指定された Supplier を呼び出して取得した値を使用して非同期的に完了する新しい CompletableFuture を返します。 |
| SupplyAsync(ISupplier) |
指定された Supplier を呼び出して取得した値を使用して、 |
| 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() |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.Finalized() |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.JniObjectReferenceControlBlock |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
明示的に完了し (値と状態を設定する)、 |
| IJavaPeerable.UnregisterFromRuntime() |
明示的に完了し (値と状態を設定する)、 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetAsync(IFuture, Int64, TimeUnit) |
明示的に完了し (値と状態を設定する)、 |
| GetAsync(IFuture) |
明示的に完了し (値と状態を設定する)、 |
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
明示的に完了し (値と状態を設定する)、 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|