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
класс обеспечивает удобные методы фабрики для реализаций 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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.