Condividi tramite


IScheduledExecutorService Interfaccia

Definizione

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 ExecutorServicesubmit 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 true se questo executor è stato arrestato.

(Ereditato da IExecutorService)
IsTerminated

Restituisce true se tutte le attività sono state completate dopo l'arresto.

(Ereditato da IExecutorService)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
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 Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
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 initialDelay, quindi initialDelay + period, initialDelay + 2 * periode così via.

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 JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Oggetto ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
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 ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

GetJniTypeName(IJavaPeerable)

Oggetto ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Oggetto ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

InvokeAnyAsync(IExecutorService, ICollection)

Oggetto ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Oggetto ExecutorService che può pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica.

Si applica a