ICompletionStage Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fase di un calcolo possibilmente asincrono, che esegue un'azione o calcola un valore al termine di un'altra operazione CompletionStage.
[Android.Runtime.Register("java/util/concurrent/CompletionStage", "", "Java.Util.Concurrent.ICompletionStageInvoker", ApiSince=24)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public interface ICompletionStage : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/concurrent/CompletionStage", "", "Java.Util.Concurrent.ICompletionStageInvoker", ApiSince=24)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type ICompletionStage = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Derivato
- Attributi
- Implementazioni
Commenti
Fase di un calcolo possibilmente asincrono, che esegue un'azione o calcola un valore al termine di un'altra operazione CompletionStage. Una fase viene completata al termine del calcolo, ma a sua volta può attivare altre fasi dipendenti. La funzionalità definita in questa interfaccia accetta solo alcune forme di base, che si espandono fino a un set più ampio di metodi per acquisire una gamma di stili di utilizzo:
<ul>
<li>Il calcolo eseguito da una fase può essere espresso come funzione, consumer o runnable (usando metodi con nomi inclusi <em>apply</em>, <em>accept</em o <em>run</em>>, rispettivamente) a seconda che richieda argomenti e/o produa risultati. Per esempio:
{@code
stage.thenApply(x -> square(x))
.thenAccept(x -> System.out.print(x))
.thenRun(() -> System.out.println());}
Un modulo aggiuntivo (<em>compose</em>) consente la costruzione di pipeline di calcolo da funzioni che restituiscono fasi di completamento.
Qualsiasi argomento per il calcolo di una fase è il risultato del calcolo di una fase di attivazione.
<l'esecuzione di li>One stage può essere attivata dal completamento di una singola fase, o da entrambe le fasi, o da una delle due fasi. Le dipendenze in una singola fase vengono disposte usando metodi con prefisso <em>then</em>. Quelli attivati dal completamento di <em/<em>> di due fasi possono <>combinare</em> i risultati o gli effetti, usando metodi denominati in modo corrispondente. Quelli attivati da <em/<em>> di due fasi non garantiscono quale dei risultati o degli effetti vengono usati per il calcolo della fase dipendente.
<le dipendenze tra>le fasi controllano l'attivazione dei calcoli, ma non garantiscono altrimenti alcun ordinamento specifico. Inoltre, l'esecuzione dei calcoli di una nuova fase può essere disposta in uno dei tre modi seguenti: esecuzione predefinita, esecuzione asincrona predefinita (usando metodi con suffisso em async</em> che usano la struttura di esecuzione asincrona predefinita della fase) o personalizzata (tramite un fornito Executor).>< Le proprietà di esecuzione delle modalità predefinite e asincrone vengono specificate dalle implementazioni di CompletionStage, non da questa interfaccia. I metodi con argomenti executor espliciti possono avere proprietà di esecuzione arbitrarie e potrebbero non supportare nemmeno l'esecuzione simultanea, ma sono disposti per l'elaborazione in modo da supportare asincronia.
<li>Two method forms (#handle handle e #whenComplete whenComplete) supportano il calcolo incondizionato se la fase di attivazione è stata completata normalmente o eccezionalmente. Il metodo #exceptionally exceptionally supporta il calcolo solo quando la fase di attivazione viene completata in modo eccezionale, calcolando un risultato di sostituzione, in modo analogo alla parola chiave java catch . In tutti gli altri casi, se il calcolo di una fase termina bruscamente con un'eccezione o un errore (deselezionato), tutte le fasi dipendenti che richiedono il completamento sono completate in modo eccezionale, con un'eccezione CompletionException che mantiene l'eccezione come causa. Se una fase dipende da <em/<em>> di due fasi e entrambe completate in modo eccezionale, l'eccezione CompletionException può corrispondere a una di queste eccezioni. Se una fase dipende da <em/<em>> di due altri, e solo uno di essi viene completato in modo eccezionale, non vengono effettuate garanzie sul fatto che la fase dipendente venga completata normalmente o in modo eccezionale. Nel caso del metodo whenComplete, quando l'azione fornita stessa rileva un'eccezione, la fase viene completata in modo eccezionale con questa eccezione, a meno che la fase di origine non venga completata in modo eccezionale, nel qual caso il completamento eccezionale dalla fase di origine viene data preferenza e propagato alla fase dipendente.
</ul>
Tutti i metodi sono conformi alle specifiche di attivazione, esecuzione e completamento eccezionali precedenti (che non vengono ripetute nelle specifiche dei singoli metodi). Inoltre, mentre gli argomenti usati per passare un risultato di completamento (vale a dire per i parametri di tipo T) per i metodi che li accettano possono essere Null, il passaggio di un valore Null per qualsiasi altro parametro genererà un'eccezione NullPointerException generata.
Il formato #handle handle del metodo è il modo più generale di creare una fase di continuazione, eseguendo in modo incondizionato un calcolo che viene fornito sia il risultato che l'eccezione (se presente) del trigger CompletionStage e calcolando un risultato arbitrario. Il metodo #whenComplete whenComplete è simile, ma mantiene il risultato della fase di attivazione invece di calcolarne uno nuovo. Poiché il risultato normale di una fase può essere null, entrambi i metodi devono avere un calcolo strutturato in modo da:
{@code (result, exception) -> {
if (exception == null) {
// triggering stage completed normally
} else {
// triggering stage completed exceptionally
}
}}
Questa interfaccia non definisce metodi per la creazione iniziale, il completamento forzatamente normale o eccezionale, lo stato di completamento del probe o i risultati o l'attesa del completamento di una fase. Le implementazioni di CompletionStage possono fornire mezzi per ottenere tali effetti, a seconda delle esigenze. Il metodo #toCompletableFuture consente l'interoperabilità tra diverse implementazioni di questa interfaccia fornendo un tipo di conversione comune.
Aggiunta nella versione 1.8.
per java.util.concurrent.CompletionStage.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Proprietà
| Nome | Descrizione |
|---|---|
| Handle |
Ottiene il valore JNI dell'oggetto Android sottostante. (Ereditato da IJavaObject) |
| JniIdentityHashCode |
Restituisce il valore di |
| JniManagedPeerState |
Stato del peer gestito. (Ereditato da IJavaPeerable) |
| JniPeerMembers |
Supporto per l'accesso ai membri e la chiamata. (Ereditato da IJavaPeerable) |
| PeerReference |
Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto di cui è stato eseguito il wrapping Java. (Ereditato da IJavaPeerable) |
Metodi
| Nome | Descrizione |
|---|---|
| AcceptEither(ICompletionStage, IConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene eseguita normalmente con il risultato corrispondente come argomento per l'azione fornita. |
| AcceptEitherAsync(ICompletionStage, IConsumer, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene eseguita normalmente utilizzando l'executor fornito, con il risultato corrispondente come argomento per l'azione fornita. |
| AcceptEitherAsync(ICompletionStage, IConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene eseguita normalmente utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase, con il risultato corrispondente come argomento per l'azione fornita. |
| ApplyToEither(ICompletionStage, IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene completata normalmente, viene eseguita con il risultato corrispondente come argomento per la funzione fornita. |
| ApplyToEitherAsync(ICompletionStage, IFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene eseguita normalmente utilizzando l'executor fornito, con il risultato corrispondente come argomento per la funzione fornita. |
| ApplyToEitherAsync(ICompletionStage, IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene eseguita normalmente utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase, con il risultato corrispondente come argomento per la funzione fornita. |
| Disposed() |
Chiamato quando l'istanza è stata eliminata. (Ereditato da IJavaPeerable) |
| DisposeUnlessReferenced() |
Se non sono presenti riferimenti in sospeso a questa istanza, chiama |
| Exceptionally(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene eseguita con l'eccezione di questa fase come argomento della funzione fornita. |
| ExceptionallyAsync(IFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene eseguita con l'eccezione di questa fase come argomento per la funzione fornita, utilizzando l'executor fornito. |
| ExceptionallyAsync(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene eseguita con l'eccezione di questa fase come argomento per la funzione fornita, utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| ExceptionallyCompose(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene composta utilizzando i risultati della funzione fornita applicata all'eccezione di questa fase. |
| ExceptionallyComposeAsync(IFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene composta utilizzando i risultati della funzione fornita applicata all'eccezione di questa fase, utilizzando l'executor fornito. |
| ExceptionallyComposeAsync(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata in modo eccezionale, viene composta utilizzando i risultati della funzione fornita applicata all'eccezione di questa fase, utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| Finalized() |
Chiamato quando l'istanza è stata finalizzata. (Ereditato da IJavaPeerable) |
| Handle(IBiFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente o in modo eccezionale, viene eseguita con il risultato di questa fase ed eccezione come argomenti per la funzione fornita. |
| HandleAsync(IBiFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente o in modo eccezionale, viene eseguita usando l'executor fornito, con il risultato e l'eccezione di questa fase come argomenti per la funzione fornita. |
| HandleAsync(IBiFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente o in modo eccezionale, viene eseguita utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase, con il risultato e l'eccezione di questa fase come argomenti per la funzione fornita. |
| RunAfterBoth(ICompletionStage, IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono completate normalmente, esegue l'azione specificata. |
| RunAfterBothAsync(ICompletionStage, IRunnable, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono completate normalmente, esegue l'azione specificata usando l'executor fornito. |
| RunAfterBothAsync(ICompletionStage, IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono completate normalmente, esegue l'azione specificata usando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| RunAfterEither(ICompletionStage, IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene completata normalmente, esegue l'azione specificata. |
| RunAfterEitherAsync(ICompletionStage, IRunnable, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene completata normalmente, esegue l'azione specificata usando l'executor fornito. |
| RunAfterEitherAsync(ICompletionStage, IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa o l'altra fase specificata viene completata normalmente, esegue l'azione specificata usando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| SetJniIdentityHashCode(Int32) |
Impostare il valore restituito da |
| SetJniManagedPeerState(JniManagedPeerStates) |
Fase di un calcolo possibilmente asincrono, che esegue un'azione o calcola un valore al termine di un'altra operazione CompletionStage. (Ereditato da IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Impostare il valore restituito da |
| ThenAccept(IConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita con il risultato di questa fase come argomento per l'azione fornita. |
| ThenAcceptAsync(IConsumer, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita utilizzando l'executor fornito, con il risultato di questa fase come argomento per l'azione fornita. |
| ThenAcceptAsync(IConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita utilizzando la struttura di esecuzione asincrona predefinita di questa fase, con il risultato di questa fase come argomento per l'azione fornita. |
| ThenAcceptBoth(ICompletionStage, IBiConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, con i due risultati come argomenti per l'azione fornita. |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, utilizzando l'executor fornito, con i due risultati come argomenti per l'azione fornita. |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, utilizzando la struttura di esecuzione asincrona predefinita di questa fase, con i due risultati come argomenti per l'azione fornita. |
| ThenApply(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita con il risultato di questa fase come argomento della funzione fornita. |
| ThenApplyAsync(IFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita utilizzando l'executor fornito, con il risultato di questa fase come argomento della funzione fornita. |
| ThenApplyAsync(IFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, viene eseguita utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase, con il risultato di questa fase come argomento della funzione fornita. |
| ThenCombine(ICompletionStage, IBiFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, con i due risultati come argomenti per la funzione fornita. |
| ThenCombineAsync(ICompletionStage, IBiFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, utilizzando l'executor fornito, con i due risultati come argomenti per la funzione fornita. |
| ThenCombineAsync(ICompletionStage, IBiFunction) |
Restituisce un nuovo elemento CompletionStage che, quando questa e l'altra fase specificata vengono eseguite normalmente, utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase, con i due risultati come argomenti per la funzione fornita. |
| ThenCompose(IFunction) |
Restituisce un nuovo elemento CompletionStage completato con lo stesso valore di CompletionStage restituito dalla funzione specificata. |
| ThenComposeAsync(IFunction, IExecutor) |
Restituisce un nuovo elemento CompletionStage completato con lo stesso valore di CompletionStage restituito dalla funzione specificata, eseguito usando l'executor fornito. |
| ThenComposeAsync(IFunction) |
Restituisce un nuovo elemento CompletionStage completato con lo stesso valore di CompletionStage restituito dalla funzione specificata, eseguito utilizzando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| ThenRun(IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, esegue l'azione specificata. |
| ThenRunAsync(IRunnable, IExecutor) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, esegue l'azione specificata usando l'executor fornito. |
| ThenRunAsync(IRunnable) |
Restituisce un nuovo elemento CompletionStage che, quando questa fase viene completata normalmente, esegue l'azione specificata usando la funzionalità di esecuzione asincrona predefinita di questa fase. |
| ToCompletableFuture() |
Restituisce un oggetto |
| UnregisterFromRuntime() |
Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue . (Ereditato da IJavaPeerable) |
| WhenComplete(IBiConsumer) |
Restituisce un nuovo elemento CompletionStage con lo stesso risultato o eccezione di questa fase, che esegue l'azione specificata al termine di questa fase. |
| WhenCompleteAsync(IBiConsumer, IExecutor) |
Restituisce un nuovo elemento CompletionStage con lo stesso risultato o eccezione di questa fase, che esegue l'azione specificata usando l'executor fornito al termine di questa fase. |
| WhenCompleteAsync(IBiConsumer) |
Restituisce un nuovo elemento CompletionStage con lo stesso risultato o eccezione di questa fase, che esegue l'azione specificata usando la funzionalità di esecuzione asincrona predefinita di questa fase al termine di questa fase. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Fase di un calcolo possibilmente asincrono, che esegue un'azione o calcola un valore al termine di un'altra operazione CompletionStage. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |