IScheduledExecutorService 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.
Oggetto ExecutorService
che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.
[Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")]
public interface IScheduledExecutorService : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")>]
type IScheduledExecutorService = interface
interface IExecutorService
interface IExecutor
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Derivato
- Attributi
- Implementazioni
Commenti
Oggetto ExecutorService
che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.
I schedule
metodi creano attività con vari ritardi e restituiscono un oggetto attività che può essere usato per annullare o controllare l'esecuzione. I scheduleAtFixedRate
metodi e scheduleWithFixedDelay
creano ed eseguono attività che vengono eseguite periodicamente fino all'annullamento.
I comandi inviati usando i Executor#execute(Runnable)
metodi e ExecutorService
submit
vengono pianificati con un ritardo richiesto pari a zero. I ritardi zero e negativi (ma non i periodi) sono consentiti anche nei schedule
metodi e vengono considerati come richieste per l'esecuzione immediata.
Tutti i schedule
metodi accettano <ritardi e periodi relativi<>/em> come argomenti, non ore o date assolute. È una semplice questione trasformare un tempo assoluto rappresentato come oggetto java.util.Date
nel formato richiesto. Ad esempio, per pianificare in un determinato futuro date
, è possibile usare: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS)
. Tenere presente tuttavia che la scadenza di un ritardo relativo non deve coincidere con l'oggetto corrente Date
in cui l'attività è abilitata a causa di protocolli di sincronizzazione dell'ora di rete, deviazione dell'orologio o altri fattori.
La Executors
classe fornisce metodi factory pratici per le implementazioni scheduledExecutorService fornite in questo pacchetto.
<Esempio< di utilizzo h2>/h2>
Ecco una classe con un metodo che configura un Oggetto ScheduledExecutorService per il segnale acustico ogni dieci secondi per un'ora:
{@code
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
Runnable beeper = () -> System.out.println("beep");
ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
Runnable canceller = () -> beeperHandle.cancel(false);
scheduler.schedule(canceller, 1, HOURS);
}
}}
Aggiunto nella versione 1.5.
Documentazione java per java.util.concurrent.ScheduledExecutorService
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.
Proprietà
Handle |
Ottiene il valore JNI dell'oggetto Android sottostante. (Ereditato da IJavaObject) |
IsShutdown |
Restituisce |
IsTerminated |
Restituisce |
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 Java di cui è stato eseguito il wrapping. (Ereditato da IJavaPeerable) |
Metodi
AwaitTermination(Int64, TimeUnit) |
Blocca fino a quando tutte le attività non hanno completato l'esecuzione dopo una richiesta di arresto o il timeout o il thread corrente viene interrotto, a ogni condizione che si verifica per prima. (Ereditato da IExecutorService) |
Disposed() |
Chiamato quando l'istanza è stata eliminata. (Ereditato da IJavaPeerable) |
DisposeUnlessReferenced() |
Se non sono presenti riferimenti in sospeso a questa istanza, chiama |
Execute(IRunnable) |
Esegue il comando specificato in un determinato momento in futuro. (Ereditato da IExecutor) |
Finalized() |
Chiamato quando l'istanza è stata finalizzata. (Ereditato da IJavaPeerable) |
InvokeAll(ICollection) |
Esegue le attività indicate, restituendo un elenco di future che contengono lo stato e i risultati al termine di tutti. (Ereditato da IExecutorService) |
InvokeAll(ICollection, Int64, TimeUnit) |
Esegue le attività indicate, restituendo un elenco di Futures che ne contiene lo stato e i risultati al termine o al timeout scade, a seconda di quale condizione si verifica per la prima volta. (Ereditato da IExecutorService) |
InvokeAny(ICollection) |
Esegue le attività indicate, restituendo il risultato di uno completato correttamente (i. (Ereditato da IExecutorService) |
InvokeAny(ICollection, Int64, TimeUnit) |
Esegue le attività indicate, restituendo il risultato di uno completato correttamente (i. (Ereditato da IExecutorService) |
Schedule(ICallable, Int64, TimeUnit) |
Invia un'attività one-shot che restituisce un valore che viene abilitata dopo il ritardo specificato. |
Schedule(IRunnable, Int64, TimeUnit) |
Invia un'attività one-shot che viene abilitata dopo il ritardo specificato. |
ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
Invia un'azione periodica che viene abilitata prima dopo il ritardo iniziale specificato e successivamente con il periodo specificato; ovvero, le esecuzioni inizieranno dopo |
ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Invia un'azione periodica che viene abilitata prima dopo il ritardo iniziale specificato e successivamente con il ritardo specificato tra la chiusura di un'esecuzione e l'inizio della successiva. |
SetJniIdentityHashCode(Int32) |
Impostare il valore restituito da |
SetJniManagedPeerState(JniManagedPeerStates) |
Oggetto |
SetPeerReference(JniObjectReference) |
Impostare il valore restituito da |
Shutdown() |
Avvia un arresto ordinato in cui vengono eseguite le attività precedentemente inviate, ma non verranno accettate nuove attività. (Ereditato da IExecutorService) |
ShutdownNow() |
Tenta di arrestare tutte le attività in esecuzione attivamente, interrompe l'elaborazione delle attività in attesa e restituisce un elenco delle attività in attesa dell'esecuzione. (Ereditato da IExecutorService) |
Submit(ICallable) |
Invia un'attività che restituisce un valore per l'esecuzione e restituisce un oggetto Future che rappresenta i risultati in sospeso dell'attività. (Ereditato da IExecutorService) |
Submit(IRunnable) |
Invia un'attività Runnable per l'esecuzione e restituisce un oggetto Future che rappresenta tale attività. (Ereditato da IExecutorService) |
Submit(IRunnable, Object) |
Invia un'attività Runnable per l'esecuzione e restituisce un oggetto Future che rappresenta tale attività. (Ereditato da IExecutorService) |
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) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo verificato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Oggetto |
GetJniTypeName(IJavaPeerable) |
Oggetto |
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Oggetto |
InvokeAnyAsync(IExecutorService, ICollection) |
Oggetto |
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Oggetto |