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)
с помощью методов и ExecutorService
submit
, планируются с запрошенной задержкой, равной нулю. Нулевые и отрицательные задержки (но не периоды) также разрешены в 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 |
Возвращает значение |
IsTerminated |
Возвращает значение , |
JniIdentityHashCode |
Возвращает значение для упаковаемого |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа и вызова участников. (Унаследовано от IJavaPeerable) |
PeerReference |
JniObjectReference Возвращает экземпляр объекта Java, заключенный в оболочку. (Унаследовано от IJavaPeerable) |
Методы
AwaitTermination(Int64, TimeUnit) |
Блокируется до тех пор, пока не завершится выполнение всех задач после запроса на завершение работы, не произойдет превышение времени ожидания или прерывание текущего потока в зависимости от того, что произойдет раньше. (Унаследовано от IExecutorService) |
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если отсутствуют незадающиеся ссылки на этот экземпляр, вызывает |
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) |
Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданным периодом; то есть выполнение начнется после |
ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
Отправляет периодическое действие, которое включается сначала после заданной начальной задержки, а затем с заданной задержкой между завершением одного выполнения и началом следующего. |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое . |
SetJniManagedPeerState(JniManagedPeerStates) |
Объект |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое . |
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) |
Объект |
GetJniTypeName(IJavaPeerable) |
Объект |
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
Объект |
InvokeAnyAsync(IExecutorService, ICollection) |
Объект |
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
Объект |