ScheduledThreadPoolExecutor Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 ThreadPoolExecutor
ré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
, , submit
schedule
, 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(Int32, IRejectedExecutionHandler) |
Crée un nouveau |
ScheduledThreadPoolExecutor(Int32, IThreadFactory) |
Crée un nouveau |
ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler) |
Crée un nouveau |
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 |
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é |
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é |
Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
IsShutdown |
Qui |
IsTerminated |
Qui |
IsTerminating |
Retourne true si cet exécuteur est dans le processus de fin après |
JniIdentityHashCode |
Qui |
JniPeerMembers |
Qui |
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 |
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 |
AwaitTerminationAsync(Int64, TimeUnit) |
Qui |
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 |
Dispose(Boolean) |
Qui |
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 |
InvokeAll(ICollection, Int64, TimeUnit) |
Qui |
InvokeAny(ICollection) |
Qui |
InvokeAny(ICollection, Int64, TimeUnit) |
Qui |
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 |
NewTaskFor(IRunnable, Object) |
Retourne une |
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 |
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 |
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 |
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 |
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 |
Terminated() |
Méthode appelée lorsque l’exécuteur a terminé. (Hérité de ThreadPoolExecutor) |
ToArray<T>() |
Qui |
ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
UnregisterFromRuntime() |
Qui |
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 |
IJavaPeerable.DisposeUnlessReferenced() |
Qui |
IJavaPeerable.Finalized() |
Qui |
IJavaPeerable.JniManagedPeerState |
Qui |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Qui |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Qui |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Qui |
Méthodes d’extension
JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
JavaCast<TResult>(IJavaObject) |
Qui |
GetJniTypeName(IJavaPeerable) |
Qui |
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Qui |
InvokeAnyAsync(IExecutorService, ICollection) |
Qui |
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Qui |