IScheduledExecutorService Интерфейс

Определение

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

[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
Производный
Атрибуты
Реализации

Комментарии

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

Методы schedule создают задачи с различными задержками и возвращают объект задачи, который можно использовать для отмены или проверка выполнения. Методы scheduleAtFixedRate и scheduleWithFixedDelay создают и выполняют задачи, которые периодически выполняются до отмены.

Команды, отправленные Executor#execute(Runnable) с помощью методов и ExecutorServicesubmit , планируются с запрошенной задержкой, равной нулю. Нулевые и отрицательные задержки (но не периоды) также разрешены в schedule методах и обрабатываются как запросы для немедленного выполнения.

Все schedule методы принимают <относительные< и временные> задержки em>и периоды в качестве аргументов, а не абсолютные значения времени или даты. Преобразование абсолютного времени, представленного как , в требуемую java.util.Date форму — это простой вопрос. Например, для планирования на определенное будущее dateможно использовать: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS). Однако помните, что срок действия относительной задержки не должен совпадать с текущим Date значением, в котором задача включена из-за протоколов синхронизации сетевого времени, смещения часов или других факторов.

Класс Executors предоставляет удобные фабричные методы для реализаций ScheduledExecutorService, предоставляемых в этом пакете.

<h2>Usage Example</h2>

Ниже приведен класс с методом , который настраивает ScheduledExecutorService для создания звуковых сигналов каждые десять секунд в течение часа:

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

Добавлено в версии 1.5.

Документация по Java для java.util.concurrent.ScheduledExecutorService.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Свойства

Handle

Возвращает значение JNI базового объекта Android.

(Унаследовано от IJavaObject)
IsShutdown

Возвращает значение true , если этот исполнитель был завершен.

(Унаследовано от IExecutorService)
IsTerminated

Возвращает значение , true если все задачи завершены после завершения работы.

(Унаследовано от IExecutorService)
JniIdentityHashCode

Возвращает значение для упаковаемого java.lang.System.identityHashCode() экземпляра.

(Унаследовано от IJavaPeerable)
JniManagedPeerState

Состояние управляемого однорангового узла.

(Унаследовано от IJavaPeerable)
JniPeerMembers

Поддержка доступа и вызова участников.

(Унаследовано от IJavaPeerable)
PeerReference

JniObjectReference Возвращает экземпляр объекта Java, заключенный в оболочку.

(Унаследовано от IJavaPeerable)

Методы

AwaitTermination(Int64, TimeUnit)

Блокируется до тех пор, пока не завершится выполнение всех задач после запроса на завершение работы, не произойдет превышение времени ожидания или прерывание текущего потока в зависимости от того, что произойдет раньше.

(Унаследовано от IExecutorService)
Disposed()

Вызывается при удалении экземпляра.

(Унаследовано от IJavaPeerable)
DisposeUnlessReferenced()

Если отсутствуют незадающиеся ссылки на этот экземпляр, вызывает Dispose(); в противном случае ничего не делает.

(Унаследовано от IJavaPeerable)
Execute(IRunnable)

Выполняет указанную команду в некоторое время в будущем.

(Унаследовано от IExecutor)
Finalized()

Вызывается после завершения работы экземпляра.

(Унаследовано от IJavaPeerable)
InvokeAll(ICollection)

Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты по завершении.

(Унаследовано от IExecutorService)
InvokeAll(ICollection, Int64, TimeUnit)

Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты, когда все завершено или истекает время ожидания, в зависимости от того, что произойдет раньше.

(Унаследовано от IExecutorService)
InvokeAny(ICollection)

Выполняет заданные задачи, возвращая результат успешно завершенной задачи (i.

(Унаследовано от IExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

Выполняет заданные задачи, возвращая результат успешно завершенной задачи (i.

(Унаследовано от IExecutorService)
Schedule(ICallable, Int64, TimeUnit)

Отправляет однократную задачу, возвращающую значение, которая становится включенной после заданной задержки.

Schedule(IRunnable, Int64, TimeUnit)

Отправляет однократную задачу, которая становится включенной после заданной задержки.

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданным периодом; то есть выполнение начнется после initialDelay, затем initialDelay + period, затем initialDelay + 2 * periodи т. д.

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданной задержкой между завершением одного выполнения и началом следующего.

SetJniIdentityHashCode(Int32)

Задайте значение, возвращаемое .JniIdentityHashCode

(Унаследовано от IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

(Унаследовано от IJavaPeerable)
SetPeerReference(JniObjectReference)

Задайте значение, возвращаемое .PeerReference

(Унаследовано от IJavaPeerable)
Shutdown()

Инициирует упорядоченное завершение работы, при котором выполняются ранее отправленные задачи, но новые задачи не принимаются.

(Унаследовано от IExecutorService)
ShutdownNow()

Пытается остановить все активно выполняемые задачи, останавливает обработку ожидающих задач и возвращает список задач, ожидающих выполнения.

(Унаследовано от IExecutorService)
Submit(ICallable)

Отправляет задачу, возвращающую значение, для выполнения и возвращает значение Future, представляющее ожидающие результаты задачи.

(Унаследовано от IExecutorService)
Submit(IRunnable)

Отправляет задачу Runnable для выполнения и возвращает значение Future, представляющее ее.

(Унаследовано от IExecutorService)
Submit(IRunnable, Object)

Отправляет задачу Runnable для выполнения и возвращает значение Future, представляющее ее.

(Унаследовано от IExecutorService)
UnregisterFromRuntime()

Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала его из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов.

(Унаследовано от IJavaPeerable)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенное средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

GetJniTypeName(IJavaPeerable)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

InvokeAnyAsync(IExecutorService, ICollection)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

Объект ExecutorService , который может запланировать выполнение команд после заданной задержки или периодическое выполнение.

Применяется к