Язык

Timer Класс

Определение

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

[Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)]
public class Timer : Java.Lang.Object
[<Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)>]
type Timer = class
    inherit Object
Наследование
Атрибуты

Комментарии

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке. Задачи могут быть запланированы для однократного выполнения или повторяющихся выполнений через регулярные интервалы.

Соответствующий каждому Timer объекту является одним фоновым потоком, который используется для выполнения всех задач таймера последовательно. Задачи таймера должны выполняться быстро. Если задача таймера занимает слишком много времени для завершения, он "перехватывает" поток выполнения задачи таймера. Это может, в свою очередь, отложить выполнение последующих задач, которые могут "сворачивать" и выполняться в быстрой последовательности, когда (и если) задача обижания, наконец, завершается.

После того как последняя динамическая ссылка на Timer объект исчезает , и все невыполненные задачи завершили выполнение, поток выполнения задачи таймера завершается корректно (и становится предметом сборки мусора). Однако это может занять произвольное время. По умолчанию поток выполнения задачи не запускается в качестве потока управляющей программы, поэтому он может поддерживать завершение приложения. Если вызывающий объект хочет быстро завершить поток выполнения задачи таймера, вызывающий объект должен вызвать метод таймера cancel .

Если поток выполнения задачи таймера неожиданно завершается, например, так как его stop метод вызывается, любая дальнейшая попытка запланировать задачу на таймере приведет к IllegalStateExceptionвызову метода таймера, как если бы метод таймера cancel был вызван.

Этот класс является потокобезопасной: несколько потоков могут совместно использовать один Timer объект без необходимости внешней синхронизации.

Этот класс не предлагает гарантии в режиме реального времени: он планирует задачи с помощью Object.wait(long) метода.

Java 5.0 ввел java.util.concurrent пакет и одну из служебных программ параллелизма, то есть java.util.concurrent.ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor пул потоков для многократного выполнения задач с заданной скоростью или задержкой. Это более универсальная замена комбинацииTimer/TimerTask, так как она позволяет нескольким потокам служб, принимает различные единицы времени и не требует подкласса TimerTask (просто реализуйте).Runnable Настройка ScheduledThreadPoolExecutor с одним потоком делает его эквивалентным Timer.

Примечание о реализации. Этот класс масштабируется до большого количества параллельных запланированных задач (тысячи не должны представлять проблем). Во внутреннем режиме для представления очереди задач используется двоичная куча, поэтому стоимость планирования задачи — O(log n), где n — это число одновременных запланированных задач.

Примечание о реализации. Все конструкторы запускают поток таймера.

Добавлено в версии 1.3.

Java документации по java.util.Timer.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя. Описание
Timer()

Создает новый таймер.

Timer(Boolean)

Создает новый таймер, связанный поток которого может быть указан в Thread#setDaemon, выполняющийся в качестве управляющей программы.

Timer(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Timer(String, Boolean)

Создает новый таймер, связанный поток которого имеет указанное имя, и может быть указан в Thread#setDaemon, выполняющийся в качестве управляющей программы.

Timer(String)

Создает новый таймер, связанный поток которого имеет указанное имя.

Свойства

Имя. Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
JniPeerMembers

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя. Описание
Cancel()

Завершает этот таймер, отменяя все запланированные задачи.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
Equals(Object)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Purge()

Удаляет все отмененные задачи из очереди задач таймера.

Schedule(TimerTask, Date, Int64)

Планирует указанную задачу для повторяющегося выполнения фиксированной задержки, начиная с указанного времени.

Schedule(TimerTask, Date)

Планирует указанную задачу для выполнения в указанное время.

Schedule(TimerTask, Int64, Int64)

Планирует указанную задачу для повторяющегося выполнения фиксированной задержки, начиная с указанной задержки.

Schedule(TimerTask, Int64)

Планирует указанную задачу для выполнения после указанной задержки.

ScheduleAtFixedRate(TimerTask, Date, Int64)

Планирует указанную задачу для повторяющегося выполнения фиксированной скорости, начиная с указанного времени.

ScheduleAtFixedRate(TimerTask, Int64, Int64)

Планирует указанную задачу для повторяющегося выполнения фиксированной скорости, начиная с указанной задержки.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

(Унаследовано от JavaObject)

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Объект для потоков для планирования задач для будущего выполнения в фоновом потоке.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к