Condividi tramite


ScheduledThreadPoolExecutor Classe

Definizione

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

[Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)]
public class ScheduledThreadPoolExecutor : Java.Util.Concurrent.ThreadPoolExecutor, IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IScheduledExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)>]
type ScheduledThreadPoolExecutor = class
    inherit ThreadPoolExecutor
    interface IScheduledExecutorService
    interface IExecutorService
    interface IExecutor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Ereditarietà
Attributi
Implementazioni

Commenti

Oggetto ThreadPoolExecutor che può inoltre pianificare l'esecuzione dei comandi dopo un determinato ritardo o per l'esecuzione periodica. Questa classe è preferibile quando java.util.Timer sono necessari più thread di lavoro o quando sono necessarie funzionalità o flessibilità aggiuntive di ThreadPoolExecutor (che questa classe estende).

Le attività ritardate vengono eseguite non prima che siano abilitate, ma senza garanzie in tempo reale su quando, dopo l'abilitazione, inizieranno. Le attività pianificate esattamente per lo stesso tempo di esecuzione sono abilitate nell'ordine di invio fifo (first-in-first-out).

Quando un'attività inviata viene annullata prima dell'esecuzione, l'esecuzione viene eliminata. Per impostazione predefinita, tale attività annullata non viene rimossa automaticamente dalla coda di lavoro fino al suo ritardo. Anche se ciò consente un'ulteriore ispezione e monitoraggio, può anche causare la conservazione non associato di attività annullate.

Le esecuzioni successive di un'attività periodica pianificata tramite #scheduleAtFixedRate scheduleAtFixedRate o #scheduleWithFixedDelay scheduleWithFixedDelay non si sovrappongono. Anche se diverse esecuzioni possono essere eseguite da thread diversi, gli effetti delle esecuzioni <precedenti si>verificano prima</i> di quelli successivi.

Anche se questa classe eredita da ThreadPoolExecutor, alcuni dei metodi di ottimizzazione ereditati non sono utili per esso. In particolare, poiché funge da pool a dimensione fissa usando corePoolSize thread e una coda non associato, le modifiche per maximumPoolSize non avere alcun effetto utile. Inoltre, non è quasi mai consigliabile impostare corePoolSize su zero o usare allowCoreThreadTimeOut perché questo può lasciare il pool senza thread per gestire le attività una volta che diventano idonei per l'esecuzione.

Come con ThreadPoolExecutor, se non specificato diversamente, questa classe usa Executors#defaultThreadFactory come factory di thread predefinita e ThreadPoolExecutor.AbortPolicy come gestore di esecuzione rifiutato predefinito.

<b>Note sull'estensione:</b> Questa classe esegue l'override dei ThreadPoolExecutor#execute(Runnable) execute metodi e AbstractExecutorService#submit(Runnable) submit per generare oggetti interni ScheduledFuture per controllare i ritardi e la pianificazione per ogni attività. Per mantenere la funzionalità, qualsiasi altro override di questi metodi nelle sottoclassi deve richiamare le versioni della superclasse, che disabilita in modo efficace la personalizzazione aggiuntiva delle attività. Tuttavia, questa classe fornisce un metodo decorateTask di estensione protetto alternativo (una versione per Runnable e Callable) che può essere usato per personalizzare i tipi di attività concreti usati per eseguire i comandi immessi tramite execute, submitschedule, scheduleAtFixedRate, e scheduleWithFixedDelay. Per impostazione predefinita, un ScheduledThreadPoolExecutor oggetto usa un tipo di attività che FutureTaskestende . Tuttavia, questa operazione può essere modificata o sostituita utilizzando sottoclassi del modulo:

{@code
            public class CustomScheduledExecutor extends ScheduledThreadPoolExecutor {

              static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }

              protected <V> RunnableScheduledFuture<V> decorateTask(
                           Runnable r, RunnableScheduledFuture<V> task) {
                  return new CustomTask<V>(r, task);
              }

              protected <V> RunnableScheduledFuture<V> decorateTask(
                           Callable<V> c, RunnableScheduledFuture<V> task) {
                  return new CustomTask<V>(c, task);
              }
              // ... add constructors, etc.
            }}

Aggiunto nella versione 1.5.

Documentazione java per java.util.concurrent.ScheduledThreadPoolExecutor.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Costruttori

ScheduledThreadPoolExecutor(Int32)

Crea un nuovo ScheduledThreadPoolExecutor oggetto con le dimensioni del pool di core specificate.

ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

Crea un nuovo ScheduledThreadPoolExecutor oggetto con i parametri iniziali specificati.

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

Crea un nuovo ScheduledThreadPoolExecutor oggetto con i parametri iniziali specificati.

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

Crea un nuovo ScheduledThreadPoolExecutor oggetto con i parametri iniziali specificati.

ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Proprietà

ActiveCount

Restituisce il numero approssimativo di thread che eseguono attivamente attività.

(Ereditato da ThreadPoolExecutor)
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
CompletedTaskCount

Restituisce il numero totale approssimativo di attività che hanno completato l'esecuzione.

(Ereditato da ThreadPoolExecutor)
ContinueExistingPeriodicTasksAfterShutdownPolicy

Ottiene i criteri per specificare se continuare a eseguire attività periodiche esistenti anche quando questo executor è stato shutdown. -oppure- Imposta i criteri su se continuare a eseguire attività periodiche esistenti anche quando questo executor è stato shutdown.

CorePoolSize

Restituisce il numero di core di thread. -oppure- Imposta il numero di core di thread.

(Ereditato da ThreadPoolExecutor)
ExecuteExistingDelayedTasksAfterShutdownPolicy

Ottiene i criteri per determinare se eseguire attività ritardate esistenti anche quando questo executor è stato shutdown. -oppure- Imposta i criteri per l'esecuzione di attività ritardate esistenti anche quando questo executor è stato shutdown.

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsShutdown

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

(Ereditato da ThreadPoolExecutor)
IsTerminated

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

(Ereditato da ThreadPoolExecutor)
IsTerminating

Restituisce true se questo executor è in corso di terminazione dopo #shutdown o #shutdownNow ma non è stato terminato completamente.

(Ereditato da ThreadPoolExecutor)
JniIdentityHashCode

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

(Ereditato da Object)
JniPeerMembers

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

LargestPoolSize

Restituisce il maggior numero di thread che sono mai stati contemporaneamente nel pool.

(Ereditato da ThreadPoolExecutor)
MaximumPoolSize

Restituisce il numero massimo consentito di thread. -oppure- Imposta il numero massimo consentito di thread.

(Ereditato da ThreadPoolExecutor)
PeerReference

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

(Ereditato da Object)
PoolSize

Restituisce il numero corrente di thread nel pool.

(Ereditato da ThreadPoolExecutor)
Queue

Restituisce la coda di attività utilizzata da questo executor.

(Ereditato da ThreadPoolExecutor)
RejectedExecutionHandler

Restituisce il gestore corrente per le attività non eseguibili. -oppure- Imposta un nuovo gestore per le attività non eseguibili.

(Ereditato da ThreadPoolExecutor)
RemoveOnCancelPolicy

Ottiene il criterio per determinare se le attività annullate devono essere rimosse immediatamente dalla coda di lavoro al momento dell'annullamento. -oppure- Imposta i criteri in base al fatto che le attività annullate vengano rimosse immediatamente dalla coda di lavoro al momento dell'annullamento.

TaskCount

Restituisce il numero totale approssimativo di attività che sono state pianificate per l'esecuzione.

(Ereditato da ThreadPoolExecutor)
ThreadFactory

Restituisce la factory thread utilizzata per creare nuovi thread. -oppure- Imposta la factory thread usata per creare nuovi thread.

(Ereditato da ThreadPoolExecutor)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

AfterExecute(IRunnable, Throwable)

Metodo richiamato al completamento dell'esecuzione dell'oggetto Runnable specificato.

(Ereditato da ThreadPoolExecutor)
AllowCoreThreadTimeOut(Boolean)

Imposta i criteri che regolano se i thread principali possono scadere e terminare se non arrivano attività entro il tempo keep-alive, in caso di necessità quando arrivano nuove attività.

(Ereditato da ThreadPoolExecutor)
AllowsCoreThreadTimeOut()

Restituisce true se questo pool consente ai thread principali di scadere e terminare se non arrivano attività entro il periodo di tempo keepAlive, se necessario quando arrivano nuove attività.

(Ereditato da ThreadPoolExecutor)
AwaitTermination(Int64, TimeUnit)

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

(Ereditato da ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

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

(Ereditato da AbstractExecutorService)
BeforeExecute(Thread, IRunnable)

Metodo richiamato prima di eseguire l'oggetto Runnable specificato nel thread specificato.

(Ereditato da ThreadPoolExecutor)
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
DecorateTask(ICallable, IRunnableScheduledFuture)

Modifica o sostituisce l'attività utilizzata per eseguire una chiamata.

DecorateTask(IRunnable, IRunnableScheduledFuture)

Modifica o sostituisce l'attività usata per eseguire un'operazione eseguibile.

Dispose()

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

(Ereditato da Object)
Dispose(Boolean)

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

(Ereditato da Object)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
Execute(IRunnable)

Esegue l'attività specificata in futuro.

(Ereditato da ThreadPoolExecutor)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetKeepAliveTime(TimeUnit)

Restituisce il tempo keep-alive del thread, ovvero la quantità di tempo in cui i thread possono rimanere inattive prima di essere terminati.

(Ereditato da ThreadPoolExecutor)
InvokeAll(ICollection)

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

(Ereditato da AbstractExecutorService)
InvokeAll(ICollection, Int64, TimeUnit)

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

(Ereditato da AbstractExecutorService)
InvokeAny(ICollection)

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

(Ereditato da AbstractExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

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

(Ereditato da AbstractExecutorService)
JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
NewTaskFor(ICallable)

Restituisce un oggetto RunnableFuture per l'attività chiamabile specificata.

(Ereditato da AbstractExecutorService)
NewTaskFor(IRunnable, Object)

Restituisce un RunnableFuture oggetto per il valore predefinito e eseguibile specificato.

(Ereditato da AbstractExecutorService)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
PrestartAllCoreThreads()

Avvia tutti i thread principali, causando l'attesa inattiva del lavoro.

(Ereditato da ThreadPoolExecutor)
PrestartCoreThread()

Avvia un thread principale, causando l'attesa inattiva del lavoro.

(Ereditato da ThreadPoolExecutor)
Purge()

Prova a rimuovere dalla coda di lavoro tutte le Future attività annullate.

(Ereditato da ThreadPoolExecutor)
Remove(IRunnable)

Rimuove questa attività dalla coda interna dell'executor, se presente, in modo che non venga eseguita se non è già stata avviata.

(Ereditato da ThreadPoolExecutor)
Schedule(ICallable, Int64, TimeUnit)

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

Schedule(IRunnable, Int64, TimeUnit)

Crea ed esegue un'azione a esecuzione singola che viene abilitata dopo il ritardo specificato.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Invia un'azione periodica che diventa abilitata prima dopo il ritardo iniziale specificato e successivamente con il periodo specificato; vale a dire, le esecuzioni inizieranno dopo initialDelay, quindi initialDelay + period, e initialDelay + 2 * periodcosì 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.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetKeepAliveTime(Int64, TimeUnit)

Imposta il tempo keep-alive del thread, ovvero la quantità di tempo in cui i thread possono rimanere inattive prima di essere terminati.

(Ereditato da ThreadPoolExecutor)
Shutdown()

Avvia un arresto ordinato in cui vengono eseguite le attività inviate in precedenza, ma non verranno accettate nuove attività.

(Ereditato da ThreadPoolExecutor)
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 ThreadPoolExecutor)
Submit(ICallable)

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

(Ereditato da AbstractExecutorService)
Submit(IRunnable)

Invia un'attività eseguibile per l'esecuzione e restituisce un oggetto Future che rappresenta tale attività.

(Ereditato da AbstractExecutorService)
Submit(IRunnable, Object)

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

(Ereditato da AbstractExecutorService)
Terminated()

Metodo richiamato quando l'executor ha terminato.

(Ereditato da ThreadPoolExecutor)
ToArray<T>()

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

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

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

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

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

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Ereditato da Object)
IJavaPeerable.Finalized()

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

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

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

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

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

InvokeAnyAsync(IExecutorService, ICollection)

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

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

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

Si applica a