Класс TimerTask
- java.lang.Object
-
- java.util.TimerTask
- Все реализованные интерфейсы:
Runnable
public abstract class TimerTask extends Object implements Runnable
Задача, которая может быть запланирована на однократное или повторяющееся выполнение с помощью Timer.
Задача таймера не является повторно используемой. После того, как задача была запланирована на выполнение на Timer или отменена, последующие попытки запланировать ее на выполнение приведут к исключению IllegalStateException.
- С:
- 1.3
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
TimerTask() |
Создает новую задачу таймера. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
cancel() |
Отменяет эту задачу таймера. |
abstract void |
run() |
Действие, которое должно быть выполнено этой задачей таймера. |
long |
scheduledExecutionTime() |
Возвращает время запланированного выполнения последнего фактического выполнения этой задачи. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
TimerTask
protected TimerTask()
Создает новую задачу таймера.
Методы
run
public abstract void run()
Действие, которое должно быть выполнено этой задачей таймера.
- Определено в:
-
runв интерфейсеRunnable - См. также:
Thread.run()
cancel
public boolean cancel()
Отменяет эту задачу таймера. Если задача запланирована на однократное выполнение и еще не запущена, или еще не запланирована, она никогда не выполнится. Если задача запланирована на многократное выполнение, она больше никогда не выполнится. (Если задача выполняется при вызове этого метода, задача выполнится до конца, но больше никогда не выполнится.)
Обратите внимание, что вызов этого метода изнутри метода run повторяющейся задачи таймера гарантирует, что задача таймера больше не будет выполняться.
Этот метод можно вызывать многократно; последующие вызовы не имеют эффекта.
- Возвращает:
- true, если эта задача запланирована на однократное выполнение и еще не запущена, или эта задача запланирована на повторяющееся выполнение. Возвращает false, если задача запланирована на однократное выполнение и уже выполнена, или если задача никогда не была запланирована, или если задача уже отменена. (Грубо говоря, этот метод возвращает
trueесли он предотвращает выполнение одной или нескольких запланированных операций.)
scheduledExecutionTime
public long scheduledExecutionTime()
Возвращает время запланированного выполнения последнего фактического выполнения этой задачи. (Если этот метод вызывается во время выполнения задачи, возвращаемое значение — время запланированного выполнения текущего выполнения задачи.)
Этот метод обычно вызывается из метода run задачи, чтобы определить, является ли текущее выполнение задачи достаточно своевременным, чтобы оправдать выполнение запланированной активности:
public void run() {
if (System.currentTimeMillis() - scheduledExecutionTime() >=
MAX_TARDINESS)
return; // Too late; skip this execution.
// Perform the task
}
Этот метод обычно не используется с повторяющимися задачами с фиксированным интервалом выполнения, так как их запланированные времена выполнения могут со временем смещаться, и поэтому не являются очень значимыми.
- Возвращает:
- время, в котором было запланировано последнее выполнение этой задачи, в формате, возвращаемом Date.getTime(). Значение возврата не определено, если задача еще не начала свое первое выполнение.
- См. также:
Date.getTime()
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/TimerTask.html