Partager via


ScheduledThreadPoolExecutor Classe

Définition

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

[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
Héritage
Attributs
Implémente

Remarques

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement. Cette classe est préférable lorsque java.util.Timer plusieurs threads de travail sont nécessaires, ou lorsque la flexibilité ou les fonctionnalités supplémentaires de ThreadPoolExecutor (dont cette classe s’étend) sont requises.

Les tâches retardées ne s’exécutent pas plus tôt qu’elles ne sont activées, mais sans aucune garantie en temps réel quant au moment où, une fois qu’elles sont activées, elles commenceront. Les tâches planifiées pour exactement la même durée d’exécution sont activées dans l’ordre de soumission du premier entrant (FIFO).

Lorsqu’une tâche envoyée est annulée avant son exécution, l’exécution est supprimée. Par défaut, une telle tâche annulée n’est pas automatiquement supprimée de la file d’attente de travail tant que son délai n’est pas écoulé. Bien que cela permet une inspection et une surveillance supplémentaires, cela peut également entraîner une rétention illimitée des tâches annulées.

Exécutions successives d’une tâche périodique planifiée via #scheduleAtFixedRate scheduleAtFixedRate ou #scheduleWithFixedDelay scheduleWithFixedDelay ne se chevauchent pas. Bien que différentes exécutions puissent être effectuées par différents threads, les effets des exécutions antérieures <i>se produisent avant</i> celles des autres.

Bien que cette classe hérite de , quelques-unes des méthodes de ThreadPoolExecutorréglage héritées ne sont pas utiles pour elle. En particulier, parce qu’il agit comme un pool de taille fixe à l’aide corePoolSize de threads et d’une file d’attente sans limite, les ajustements n’ont maximumPoolSize aucun effet utile. En outre, il n’est presque jamais judicieux de définir corePoolSize sur zéro ou d’utiliser allowCoreThreadTimeOut , car cela peut laisser le pool sans threads pour gérer les tâches une fois qu’elles deviennent éligibles à l’exécution.

Comme avec ThreadPoolExecutor, s’il n’est pas spécifié, cette classe utilise Executors#defaultThreadFactory comme fabrique de threads par défaut et ThreadPoolExecutor.AbortPolicy comme gestionnaire d’exécution rejeté par défaut.

<b>Notes d’extension :</b> Cette classe remplace les méthodes et AbstractExecutorService#submit(Runnable) submit les ThreadPoolExecutor#execute(Runnable) execute méthodes permettant de générer des objets internes ScheduledFuture pour contrôler les retards et la planification des tâches par tâche. Pour conserver les fonctionnalités, les remplacements supplémentaires de ces méthodes dans les sous-classes doivent appeler des versions de superclasse, ce qui désactive efficacement la personnalisation des tâches supplémentaires. Toutefois, cette classe fournit une autre méthode decorateTask d’extension protégée (une version pour Runnable et Callable) qui peut être utilisée pour personnaliser les types de tâches concrets utilisés pour exécuter des commandes entrées via execute, , submitschedule, scheduleAtFixedRate, et scheduleWithFixedDelay. Par défaut, un ScheduledThreadPoolExecutor type de tâche s’étend FutureTask. Toutefois, cela peut être modifié ou remplacé à l’aide de sous-classes du formulaire :

{@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.
            }}

Ajouté à la version 1.5.

Documentation Java pour java.util.concurrent.ScheduledThreadPoolExecutor.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

ScheduledThreadPoolExecutor(Int32)

Crée un nouveau ScheduledThreadPoolExecutor avec la taille de pool principale donnée.

ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

Crée un nouveau ScheduledThreadPoolExecutor avec les paramètres initiaux donnés.

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

Crée un nouveau ScheduledThreadPoolExecutor avec les paramètres initiaux donnés.

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

Crée un nouveau ScheduledThreadPoolExecutor avec les paramètres initiaux donnés.

ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

ActiveCount

Retourne le nombre approximatif de threads qui exécutent activement des tâches.

(Hérité de ThreadPoolExecutor)
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
CompletedTaskCount

Retourne le nombre total approximatif de tâches qui ont terminé l’exécution.

(Hérité de ThreadPoolExecutor)
ContinueExistingPeriodicTasksAfterShutdownPolicy

Obtient la stratégie sur la poursuite de l’exécution de tâches périodiques existantes même lorsque cet exécuteur a été shutdown. -ou- Définit la stratégie sur la poursuite de l’exécution des tâches périodiques existantes même lorsque cet exécuteur a été shutdown.

CorePoolSize

Retourne le nombre principal de threads. -ou- Définit le nombre principal de threads.

(Hérité de ThreadPoolExecutor)
ExecuteExistingDelayedTasksAfterShutdownPolicy

Obtient la stratégie indiquant s’il faut exécuter des tâches retardées existantes même si cet exécuteur a été shutdown. -ou- Définit la stratégie sur l’exécution des tâches retardées existantes même lorsque cet exécuteur a été shutdown.

Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsShutdown

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de ThreadPoolExecutor)
IsTerminated

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de ThreadPoolExecutor)
IsTerminating

Retourne true si cet exécuteur est dans le processus de fin après #shutdown ou #shutdownNow n’a pas complètement terminé.

(Hérité de ThreadPoolExecutor)
JniIdentityHashCode

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
JniPeerMembers

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

LargestPoolSize

Retourne le plus grand nombre de threads qui ont jamais été simultanément dans le pool.

(Hérité de ThreadPoolExecutor)
MaximumPoolSize

Retourne le nombre maximal autorisé de threads. -ou- Définit le nombre maximal autorisé de threads.

(Hérité de ThreadPoolExecutor)
PeerReference

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
PoolSize

Retourne le nombre actuel de threads dans le pool.

(Hérité de ThreadPoolExecutor)
Queue

Retourne la file d’attente des tâches utilisée par cet exécuteur.

(Hérité de ThreadPoolExecutor)
RejectedExecutionHandler

Retourne le gestionnaire actuel pour les tâches non exécutables. -ou- Définit un nouveau gestionnaire pour les tâches non exécutables.

(Hérité de ThreadPoolExecutor)
RemoveOnCancelPolicy

Obtient la stratégie indiquant si les tâches annulées doivent être immédiatement supprimées de la file d’attente de travail au moment de l’annulation. -ou- Définit la stratégie sur la suppression immédiate des tâches annulées de la file d’attente de travail au moment de l’annulation.

TaskCount

Retourne le nombre total approximatif de tâches qui ont jamais été planifiées pour l’exécution.

(Hérité de ThreadPoolExecutor)
ThreadFactory

Retourne la fabrique de threads utilisée pour créer de nouveaux threads. -ou- Définit la fabrique de threads utilisée pour créer de nouveaux threads.

(Hérité de ThreadPoolExecutor)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

AfterExecute(IRunnable, Throwable)

Méthode appelée à la fin de l’exécution du Runnable donné.

(Hérité de ThreadPoolExecutor)
AllowCoreThreadTimeOut(Boolean)

Définit la stratégie qui détermine si les threads principaux peuvent expirer et se terminer si aucune tâche n’arrive dans le délai de conservation, en cours de remplacement si nécessaire lorsque de nouvelles tâches arrivent.

(Hérité de ThreadPoolExecutor)
AllowsCoreThreadTimeOut()

Retourne true si ce pool permet aux threads principaux d’expirer et de se terminer si aucune tâche n’arrive dans le délai de conservation, remplacée si nécessaire lorsque de nouvelles tâches arrivent.

(Hérité de ThreadPoolExecutor)
AwaitTermination(Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
BeforeExecute(Thread, IRunnable)

Méthode appelée avant l’exécution de l’runnable donné dans le thread donné.

(Hérité de ThreadPoolExecutor)
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
DecorateTask(ICallable, IRunnableScheduledFuture)

Modifie ou remplace la tâche utilisée pour exécuter un appelant.

DecorateTask(IRunnable, IRunnableScheduledFuture)

Modifie ou remplace la tâche utilisée pour exécuter un runnable.

Dispose()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
Dispose(Boolean)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Execute(IRunnable)

Exécute la tâche donnée à l’avenir.

(Hérité de ThreadPoolExecutor)
GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
GetKeepAliveTime(TimeUnit)

Retourne le temps de conservation du thread, qui est la durée pendant laquelle les threads peuvent rester inactifs avant d’être arrêtés.

(Hérité de ThreadPoolExecutor)
InvokeAll(ICollection)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
InvokeAll(ICollection, Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
InvokeAny(ICollection)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
NewTaskFor(ICallable)

Retourne une RunnableFuture tâche pouvant être appelée donnée.

(Hérité de AbstractExecutorService)
NewTaskFor(IRunnable, Object)

Retourne une RunnableFuture valeur exécutable et par défaut donnée.

(Hérité de AbstractExecutorService)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
PrestartAllCoreThreads()

Démarre tous les threads principaux, ce qui les oblige à attendre le travail de manière idé.

(Hérité de ThreadPoolExecutor)
PrestartCoreThread()

Démarre un thread principal, ce qui lui permet d’attendre de façon idé le travail.

(Hérité de ThreadPoolExecutor)
Purge()

Tente de supprimer de la file d’attente de travail toutes les Future tâches qui ont été annulées.

(Hérité de ThreadPoolExecutor)
Remove(IRunnable)

Supprime cette tâche de la file d’attente interne de l’exécuteur s’il est présent, ce qui l’empêche d’être exécutée si elle n’a pas déjà démarré.

(Hérité de ThreadPoolExecutor)
Schedule(ICallable, Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

Schedule(IRunnable, Int64, TimeUnit)

Crée et exécute une action ponctuelle qui devient activée après le délai donné.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Soumet une action périodique qui devient activée en premier après le délai initial donné, puis avec la période donnée ; autrement dit, les exécutions commenceront après initialDelay, puis initialDelay + period, puis , et initialDelay + 2 * periodainsi de suite.

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

Envoie une action périodique qui devient activée en premier après le délai initial donné, puis avec le délai donné entre l’arrêt d’une exécution et le début de la prochaine.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetKeepAliveTime(Int64, TimeUnit)

Définit le temps de conservation en vie du thread, qui est la durée pendant laquelle les threads peuvent rester inactifs avant d’être arrêtés.

(Hérité de ThreadPoolExecutor)
Shutdown()

Lance un arrêt ordonné dans lequel les tâches précédemment soumises sont exécutées, mais aucune nouvelle tâche n’est acceptée.

(Hérité de ThreadPoolExecutor)
ShutdownNow()

Tente d’arrêter toutes les tâches en cours d’exécution active, arrête le traitement des tâches en attente et retourne une liste des tâches qui attendaient l’exécution.

(Hérité de ThreadPoolExecutor)
Submit(ICallable)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
Submit(IRunnable)

Envoie une tâche exécutable pour l’exécution et retourne un futur représentant cette tâche.

(Hérité de AbstractExecutorService)
Submit(IRunnable, Object)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de AbstractExecutorService)
Terminated()

Méthode appelée lorsque l’exécuteur a terminé.

(Hérité de ThreadPoolExecutor)
ToArray<T>()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.Finalized()

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

GetJniTypeName(IJavaPeerable)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

InvokeAnyAsync(IExecutorService, ICollection)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Qui ThreadPoolExecutor peut également planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.

S’applique à