IScheduledExecutorService Interface
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 ExecutorService peut 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/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
- Dérivé
- Attributs
- Implémente
Remarques
Qui ExecutorService peut planifier l’exécution de commandes après un délai donné ou pour s’exécuter régulièrement.
Les schedule méthodes créent des tâches avec différents retards et retournent un objet de tâche qui peut être utilisé pour annuler ou vérifier l’exécution. Les scheduleAtFixedRate méthodes et scheduleWithFixedDelay les méthodes créent et exécutent des tâches qui s’exécutent régulièrement jusqu’à l’annulation.
Les commandes envoyées à l’aide des Executor#execute(Runnable) méthodes et ExecutorServicesubmit sont planifiées avec un délai demandé de zéro. Les délais zéro et négatif (mais pas les périodes) sont également autorisés dans schedule les méthodes et sont traités comme des demandes d’exécution immédiate.
Toutes les schedule méthodes acceptent<<> les retards relatifs/em> et les points en tant qu’arguments, pas les heures absolues ni les dates. Il s’agit d’une question simple de transformer un temps absolu représenté sous java.util.Date la forme requise. Par exemple, pour planifier à un avenir datedonné, vous pouvez utiliser : schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS). Veillez toutefois à ce que l’expiration d’un délai relatif ne coïncide pas avec le moment auquel Date la tâche est activée en raison de protocoles de synchronisation de temps réseau, de dérive d’horloge ou d’autres facteurs.
La Executors classe fournit des méthodes de fabrique pratiques pour les implémentations ScheduledExecutorService fournies dans ce package.
<Exemple d’utilisation< h2>/h2>
Voici une classe avec une méthode qui configure un ScheduledExecutorService à bip toutes les dix secondes pendant une heure :
{@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);
}
}}
Ajouté à la version 1.5.
Java documentation pour java.util.concurrent.ScheduledExecutorService.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Propriétés
| Nom | Description |
|---|---|
| Handle |
Obtient la valeur JNI de l’objet Android sous-jacent. (Hérité de IJavaObject) |
| IsShutdown |
Retourne |
| IsTerminated |
Retourne |
| JniIdentityHashCode |
Retourne la valeur de |
| JniManagedPeerState |
État de l’homologue managé. (Hérité de IJavaPeerable) |
| JniObjectReferenceControlBlock |
Qui |
| JniPeerMembers |
Prise en charge de l’accès aux membres et de l’appel. (Hérité de IJavaPeerable) |
| PeerReference |
Retourne une JniObjectReference instance d’objet Java encapsulée. (Hérité de IJavaPeerable) |
Méthodes
| Nom | Description |
|---|---|
| AwaitTermination(Int64, TimeUnit) |
Bloque jusqu’à ce que toutes les tâches aient terminé l’exécution après une demande d’arrêt, ou que le délai d’attente se produise, ou que le thread actuel soit interrompu, selon ce qui se produit en premier. (Hérité de IExecutorService) |
| Close() |
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 IExecutorService) |
| Disposed() |
Appelé lorsque l’instance a été supprimée. (Hérité de IJavaPeerable) |
| DisposeUnlessReferenced() |
S’il n’existe aucune référence en suspens à cette instance, les appels |
| Execute(IRunnable) |
Exécute la commande donnée à un moment donné à l’avenir. (Hérité de IExecutor) |
| Finalized() |
Appelé lorsque l’instance a été finalisée. (Hérité de IJavaPeerable) |
| InvokeAll(ICollection, Int64, TimeUnit) |
Exécute les tâches données, en retournant une liste d’futures contenant leur état et leurs résultats lorsque tout est terminé ou que le délai d’expiration expire, selon ce qui se produit en premier. (Hérité de IExecutorService) |
| InvokeAll(ICollection) |
Exécute les tâches données, en retournant une liste d’futures contenant leur état et leurs résultats une fois toutes les tâches terminées. (Hérité de IExecutorService) |
| InvokeAny(ICollection, Int64, TimeUnit) |
Exécute les tâches données, en retournant le résultat d’une tâche terminée avec succès (i. (Hérité de IExecutorService) |
| InvokeAny(ICollection) |
Exécute les tâches données, en retournant le résultat d’une tâche terminée avec succès (i. (Hérité de IExecutorService) |
| Schedule(ICallable, Int64, TimeUnit) |
Envoie une tâche à un coup de valeur qui devient activée après le délai donné. |
| Schedule(IRunnable, Int64, TimeUnit) |
Envoie une tâche 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. |
| SetJniIdentityHashCode(Int32) |
Définissez la valeur retournée par |
| SetJniManagedPeerState(JniManagedPeerStates) |
Qui |
| SetPeerReference(JniObjectReference) |
Définissez la valeur retournée par |
| 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 IExecutorService) |
| 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 IExecutorService) |
| Submit(ICallable) |
Envoie une tâche de retour de valeur pour l’exécution et retourne un futur représentant les résultats en attente de la tâche. (Hérité de IExecutorService) |
| Submit(IRunnable, Object) |
Envoie une tâche exécutable pour l’exécution et retourne un futur représentant cette tâche. (Hérité de IExecutorService) |
| Submit(IRunnable) |
Envoie une tâche exécutable pour l’exécution et retourne un futur représentant cette tâche. (Hérité de IExecutorService) |
| UnregisterFromRuntime() |
Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue . (Hérité de IJavaPeerable) |
Méthodes d’extension
| Nom | Description |
|---|---|
| AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Qui |
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Qui |
| InvokeAnyAsync(IExecutorService, ICollection) |
Qui |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Qui |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |