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 создают задачи с различными задержками и возвращают объект задачи, который можно использовать для отмены или проверки выполнения.
scheduleWithFixedDelay Методы scheduleAtFixedRate создают и выполняют задачи, которые периодически выполняются до отмены.
Команды, отправленные с помощью Executor#execute(Runnable) методов, ExecutorServicesubmit планируются с запрошенной задержкой в нуле. Ноль и отрицательные задержки (но не периоды) также допускаются в schedule методах и рассматриваются как запросы на немедленное выполнение.
Все schedule методы принимают>< задержки и периоды em в<> качестве аргументов, а не абсолютные времена или даты. Это простой вопрос для преобразования абсолютного времени, представленного в качестве java.util.Date требуемой формы. Например, для планирования в определенном будущем dateможно использовать: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS) Однако будьте осторожны, что срок действия относительной задержки не должен совпадать с текущим Date , в котором задача включена из-за протоколов синхронизации сетевого времени, смещения часов или других факторов.
Класс Executors предоставляет удобные методы фабрики для реализаций ScheduledExecutorService, предоставляемых в этом пакете.
<Пример< использования h2>/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.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Свойства
| Имя. | Описание |
|---|---|
| Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
| IsShutdown |
Возвращает, |
| IsTerminated |
Возвращает, |
| JniIdentityHashCode |
Возвращает значение |
| JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
| JniObjectReferenceControlBlock |
Может |
| JniPeerMembers |
Поддержка доступа к членам и вызовов. (Унаследовано от IJavaPeerable) |
| PeerReference |
JniObjectReference Возвращает экземпляр объекта в оболочке Java. (Унаследовано от IJavaPeerable) |
Методы
| Имя. | Описание |
|---|---|
| AwaitTermination(Int64, TimeUnit) |
Блоки, пока все задачи не завершились после запроса завершения работы, или время ожидания, или текущий поток прерван, в зависимости от того, что происходит сначала. (Унаследовано от IExecutorService) |
| Close() |
Инициирует упорядоченное завершение работы, в котором выполняются ранее отправленные задачи, но новые задачи не будут приняты. (Унаследовано от IExecutorService) |
| Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
| DisposeUnlessReferenced() |
Если нет невыполненных ссылок на этот экземпляр, то вызывается |
| Execute(IRunnable) |
Выполняет указанную команду в некоторое время в будущем. (Унаследовано от IExecutor) |
| Finalized() |
Вызывается при завершении экземпляра. (Унаследовано от IJavaPeerable) |
| InvokeAll(ICollection, Int64, TimeUnit) |
Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты, когда все завершено или истекает время ожидания, в зависимости от того, что происходит в первую очередь. (Унаследовано от IExecutorService) |
| InvokeAll(ICollection) |
Выполняет заданные задачи, возвращая список фьючерсов, содержащих их состояние и результаты при завершении. (Унаследовано от IExecutorService) |
| InvokeAny(ICollection, Int64, TimeUnit) |
Выполняет заданные задачи, возвращая результат успешно завершенного (i). (Унаследовано от IExecutorService) |
| InvokeAny(ICollection) |
Выполняет заданные задачи, возвращая результат успешно завершенного (i). (Унаследовано от IExecutorService) |
| Schedule(ICallable, Int64, TimeUnit) |
Отправляет задачу с возвратом значения, которая становится включенной после заданной задержки. |
| Schedule(IRunnable, Int64, TimeUnit) |
Отправляет задачу с одним снимком, которая становится включенной после указанной задержки. |
| ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
Отправляет периодическое действие, которое сначала включается после заданной начальной задержки, а затем с заданным периодом; то есть, казни начнутся после |
| ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданной задержкой между завершением одного выполнения и началом следующего. |
| SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое |
| SetJniManagedPeerState(JniManagedPeerStates) |
Может |
| SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое |
| Shutdown() |
Инициирует упорядоченное завершение работы, в котором выполняются ранее отправленные задачи, но новые задачи не будут приняты. (Унаследовано от IExecutorService) |
| ShutdownNow() |
Пытается остановить все активно выполняемые задачи, останавливает обработку задач ожидания и возвращает список задач, ожидающих выполнения. (Унаследовано от IExecutorService) |
| Submit(ICallable) |
Отправляет задачу возврата значений для выполнения и возвращает будущее, представляющее ожидающие результаты задачи. (Унаследовано от IExecutorService) |
| Submit(IRunnable, Object) |
Отправляет задачу Runnable для выполнения и возвращает будущее, представляющее задачу. (Унаследовано от IExecutorService) |
| Submit(IRunnable) |
Отправляет задачу Runnable для выполнения и возвращает будущее, представляющее задачу. (Унаследовано от IExecutorService) |
| UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Методы расширения
| Имя. | Описание |
|---|---|
| AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Может |
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Может |
| InvokeAnyAsync(IExecutorService, ICollection) |
Может |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Может |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |