|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface ScheduledExecutorService extends ExecutorService
ExecutorService это может запланировать команды, чтобы бежать за данной задержкой, или периодически выполняться. Методы schedule создают задачи с различными задержками и возвращают объект задачи, который может использоваться, чтобы отменить или проверить выполнение. Методы scheduleAtFixedRate И scheduleWithFixedDelay создают и выполняют задачи, которые работают периодически пока не отменено.
Команды представили использование Executor.execute(java.lang.Runnable) и ExecutorService Методы submit планируются с требуемой задержкой нуля. Нуль и отрицательные задержки (но не периоды) также позволяются в методах schedule, и обрабатываются как запросы на непосредственное выполнение.
Все методы schedule принимают относительные задержки и периоды как параметры, не абсолютные времена или даты. Это - простой вопрос, чтобы преобразовать абсолютное время, представленное как a Date к необходимой форме. Например, чтобы запланировать в определенном будущем date, можно использовать: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS). Остерегайтесь однако, что истечение относительной задержки не должно совпасть с текущим Date, в котором задача включается из-за сетевых протоколов синхронизации времени, дрейфа часов, или других факторов. Executors class обеспечивает удобные методы фабрики для реализаций ScheduledExecutorService, обеспеченных в этом пакете.
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}| Модификатор и Тип | Метод и Описание |
|---|---|
<V> ScheduledFuture<V> |
schedule(Callable<V> callable, long delay, TimeUnit unit)
Создает и выполняет ScheduledFuture, который становится включенным после данной задержки.
|
ScheduledFuture<?> |
schedule(Runnable command, long delay, TimeUnit unit)
Создает и выполняет действие с одним выстрелом, которое становится включенным после данной задержки.
|
ScheduledFuture<?> |
scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
Создает и выполняет периодическое действие, которое становится включенным сначала после данной начальной задержки, и впоследствии с установленным сроком; это - выполнение, начнется после initialDelay тогда initialDelay+period, тогда initialDelay + 2 * period, и так далее.
|
ScheduledFuture<?> |
scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
Создает и выполняет периодическое действие, которое становится включенным сначала после данной начальной задержки, и впоследствии с данной задержкой между завершением одного выполнения и началом следующего.
|
awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow, submit, submit, submitвыполнитьсяScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit)
command - задача выполнитьсяdelay - время с этого времени, чтобы задержать выполнениеunit - единица измерения времени параметра задержкиRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если команда является нулем<V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit)
callable - функция, чтобы выполнитьсяdelay - время с этого времени, чтобы задержать выполнениеunit - единица измерения времени параметра задержкиRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если вызываемый нульScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
command - задача выполнитьсяinitialDelay - время, чтобы задержать первое выполнениеperiod - период между последовательным выполнениемunit - единица измерения времени initialDelay и параметров периодаRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если команда является нулемIllegalArgumentException - если период, меньше чем или равный нулюScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
command - задача выполнитьсяinitialDelay - время, чтобы задержать первое выполнениеdelay - задержка между завершением одного выполнения и началом следующегоunit - единица измерения времени initialDelay и параметров задержкиRejectedExecutionException - если задача не может быть запланирована для выполненияNullPointerException - если команда является нулемIllegalArgumentException - если задержка, меньше чем или равная нулю
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92