ScheduledThreadPoolExecutor Classe
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 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
, submit
schedule
, scheduleAtFixedRate
, e scheduleWithFixedDelay
. Per impostazione predefinita, un ScheduledThreadPoolExecutor
oggetto usa un tipo di attività che FutureTask
estende . 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(Int32, IRejectedExecutionHandler) |
Crea un nuovo |
ScheduledThreadPoolExecutor(Int32, IThreadFactory) |
Crea un nuovo |
ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler) |
Crea un nuovo |
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 |
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 |
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 |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
IsShutdown |
Oggetto |
IsTerminated |
Oggetto |
IsTerminating |
Restituisce true se questo executor è in corso di terminazione dopo |
JniIdentityHashCode |
Oggetto |
JniPeerMembers |
Oggetto |
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 |
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 |
AwaitTerminationAsync(Int64, TimeUnit) |
Oggetto |
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 |
Dispose(Boolean) |
Oggetto |
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 |
InvokeAll(ICollection, Int64, TimeUnit) |
Oggetto |
InvokeAny(ICollection) |
Oggetto |
InvokeAny(ICollection, Int64, TimeUnit) |
Oggetto |
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 |
NewTaskFor(IRunnable, Object) |
Restituisce un |
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 |
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 |
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 |
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 |
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 |
Terminated() |
Metodo richiamato quando l'executor ha terminato. (Ereditato da ThreadPoolExecutor) |
ToArray<T>() |
Oggetto |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Oggetto |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Oggetto |
IJavaPeerable.Finalized() |
Oggetto |
IJavaPeerable.JniManagedPeerState |
Oggetto |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Oggetto |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Oggetto |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Oggetto |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato 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 |