DispatcherQueueTimer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Периодически выполняет задачу в потоке DispatcherQueue по истечении интервала времени.
public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 Fall Creators Update (появилось в 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v5.0)
|
Примеры
public void ConfigureRepeatingTimer()
{
_queueController = DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
_repeatingTimer = _queue.CreateTimer ();
_repeatingTimer.Interval = TimeSpan.FromSeconds(5);
// The tick handler will be invoked repeatedly after every 5
// seconds on the dedicated thread.
_repeatingTimer.Tick += (s, e) =>
{
DoWork();
};
// Start the Timer
_repeatingTimer.Start();
}
private DispatcherQueue _queue;
private DispatcherQueueController _queueController;
private DispatcherQueueTimer _repeatingTimer;
Комментарии
Система гарантирует вызов обработчика событий только по истечении указанного срока. Однако при наличии других ожидающих рабочих элементов в очереди может возникнуть некоторая задержка перед вызовом обработчика тактов.
Задачи таймера выполняются с приоритетом ниже, чем простой.
Таймеры не сохраняют цикл событий DispatcherQueue в активном состоянии. Таймеры, созданные после остановки цикла событий DispatcherQueue , не будут обрабатываться.
Свойства
Interval |
Возвращает и задает интервал для таймера. |
IsRepeating |
Указывает, повторяется ли таймер. |
IsRunning |
Указывает, работает ли таймер в данный момент. |
Методы
Start() |
Запускает таймер. |
Stop() |
Останавливает таймер. |
События
Tick |
Событие, которое срабатывает по истечении интервала таймера. |