IScheduledExecutorService Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| IsTerminated |
Gibt zurück |
| JniIdentityHashCode |
Gibt den Wert |
| 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 |
| 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 |
| 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 |
| SetJniManagedPeerState(JniManagedPeerStates) |
Ein |
| SetPeerReference(JniObjectReference) |
Legen Sie den von |
| 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 |
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Ein |
| InvokeAnyAsync(IExecutorService, ICollection) |
Ein |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Ein |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |