IScheduledExecutorService Schnittstelle

Definition

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

[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
Abgeleitet
Attribute
Implementiert

Hinweise

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

Die schedule Methoden erstellen Aufgaben mit verschiedenen Verzögerungen und geben ein Aufgabenobjekt zurück, das zum Abbrechen oder Überprüfen der Ausführung verwendet werden kann. Die scheduleAtFixedRate Methoden erstellen und scheduleWithFixedDelay ausführen Aufgaben, die regelmäßig ausgeführt werden, bis sie abgebrochen wurden.

Befehle, die mit den Executor#execute(Runnable) Methoden übermittelt werden, ExecutorServicesubmit werden mit einer angeforderten Verzögerung von Null geplant. Null- und negative Verzögerungen (aber keine Zeiträume) sind auch in schedule Methoden zulässig und werden als Anforderungen für die sofortige Ausführung behandelt.

Alle schedule Methoden akzeptieren <relative></em-Verzögerungen> und Punkte als Argumente, nicht absolute Uhrzeiten oder Datumsangaben. Es ist einfach, eine absolute Zeit zu transformieren, die als java.util.Date ein in das erforderliche Formular dargestellt wird. Wenn Sie z. B. eine bestimmte Zukunft dateplanen möchten, können Sie Folgendes verwenden: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS). Beachten Sie jedoch, dass der Ablauf einer relativen Verzögerung nicht mit dem aktuellen Date übereinstimmen muss, zu dem die Aufgabe aufgrund von Protokollen zur Synchronisierung von Netzwerkzeit, Uhrabweichung oder anderen Faktoren aktiviert ist.

Die Executors Klasse stellt praktische Factorymethoden für die in diesem Paket bereitgestellten ScheduledExecutorService-Implementierungen bereit.

<h2-Verwendungsbeispiel></h2>

Dies ist eine Klasse mit einer Methode, die einen ScheduledExecutorService so einrichte, dass er alle zehn Sekunden für eine Stunde signalisiere:

{@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);
              }
            }}

Hinzugefügt in 1.5.

Java Dokumentation für java.util.concurrent.ScheduledExecutorService.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
IsShutdown

Gibt zurück true , wenn dieser Executor heruntergefahren wurde.

(Geerbt von IExecutorService)
IsTerminated

Gibt zurück true , wenn alle Aufgaben nach dem Herunterfahren abgeschlossen wurden.

(Geerbt von IExecutorService)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Name Beschreibung
AwaitTermination(Int64, TimeUnit)

Blockiert die Ausführung aller Aufgaben nach einer Herunterfahren-Anforderung oder das Timeout, oder der aktuelle Thread wird unterbrochen, je nachdem, was zuerst geschieht.

(Geerbt von IExecutorService)
Close()

Initiiert ein geordnetes Herunterfahren, in dem zuvor übermittelte Aufgaben ausgeführt werden, aber keine neuen Aufgaben werden akzeptiert.

(Geerbt von IExecutorService)
Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Execute(IRunnable)

Führt den angegebenen Befehl zu einem bestimmten Zeitpunkt in der Zukunft aus.

(Geerbt von IExecutor)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
InvokeAll(ICollection, Int64, TimeUnit)

Führt die angegebenen Aufgaben aus, wobei eine Liste der Futures ihren Status und die Ergebnisse zurückgibt, wenn alles abgeschlossen ist oder das Timeout abläuft, je nachdem, was zuerst geschieht.

(Geerbt von IExecutorService)
InvokeAll(ICollection)

Führt die angegebenen Aufgaben aus und gibt eine Liste von Futures zurück, die ihren Status und die Ergebnisse enthält, wenn alle abgeschlossen sind.

(Geerbt von IExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

Führt die angegebenen Vorgänge aus und gibt das Ergebnis eines Vorgangs zurück, der erfolgreich abgeschlossen wurde (i.

(Geerbt von IExecutorService)
InvokeAny(ICollection)

Führt die angegebenen Vorgänge aus und gibt das Ergebnis eines Vorgangs zurück, der erfolgreich abgeschlossen wurde (i.

(Geerbt von IExecutorService)
Schedule(ICallable, Int64, TimeUnit)

Sendet eine rückgabende Einschussaufgabe, die nach der angegebenen Verzögerung aktiviert wird.

Schedule(IRunnable, Int64, TimeUnit)

Sendet eine einmalige Aufgabe, die nach der angegebenen Verzögerung aktiviert wird.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Legt eine regelmäßige Aktion vor, die zuerst nach der anfänglichen Verzögerung und anschließend mit dem angegebenen Zeitraum aktiviert wird; d. h., Die Hinrichtungen werden nach initialDelay, dann initialDelay + period, dann initialDelay + 2 * periodusw. beginnen.

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

Übermittelt eine regelmäßige Aktion, die nach der ersten Verzögerung aktiviert wird, und anschließend mit der gegebenen Verzögerung zwischen der Beendigung einer Ausführung und dem Beginn der nächsten.

SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
Shutdown()

Initiiert ein geordnetes Herunterfahren, in dem zuvor übermittelte Aufgaben ausgeführt werden, aber keine neuen Aufgaben werden akzeptiert.

(Geerbt von IExecutorService)
ShutdownNow()

Versucht, alle aktiv ausgeführten Aufgaben zu beenden, die Verarbeitung von Wartevorgängen anzuhalten und gibt eine Liste der Aufgaben zurück, die auf die Ausführung warten.

(Geerbt von IExecutorService)
Submit(ICallable)

Sendet einen Rückgabevorgang für die Ausführung und gibt eine Zukunft zurück, die die ausstehenden Ergebnisse des Vorgangs darstellt.

(Geerbt von IExecutorService)
Submit(IRunnable, Object)

Sendet eine ausführungsfähige Aufgabe und gibt eine Zukunft zurück, die diese Aufgabe darstellt.

(Geerbt von IExecutorService)
Submit(IRunnable)

Sendet eine ausführungsfähige Aufgabe und gibt eine Zukunft zurück, die diese Aufgabe darstellt.

(Geerbt von IExecutorService)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)

Erweiterungsmethoden

Name Beschreibung
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

InvokeAnyAsync(IExecutorService, ICollection)

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein ExecutorService Befehl, der nach einer bestimmten Verzögerung ausgeführt werden kann oder in regelmäßigen Abständen ausgeführt werden kann.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: