Bagikan melalui


DispatcherQueueTimer Kelas

Definisi

Secara berkala menjalankan tugas pada utas DispatcherQueue setelah interval waktu berlalu.

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
Warisan
Object Platform::Object IInspectable DispatcherQueueTimer
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 Fall Creators Update (diperkenalkan dalam 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v5.0)

Contoh

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;

Keterangan

Sistem menjamin untuk memanggil penanganan aktivitas hanya setelah durasi yang ditentukan kedaluwarsa. Namun, mungkin ada beberapa penundaan sebelum handler tick dipanggil jika ada item kerja lain yang tertunda dalam antrean.

Tugas timer berjalan pada prioritas yang lebih rendah dari diam.

Timer tidak menjaga perulangan peristiwa DispatcherQueue tetap hidup. Timer yang dibuat setelah perulangan peristiwa DispatcherQueue berhenti tidak akan diproses.

Properti

Interval

Mendapatkan dan mengatur interval untuk timer.

IsRepeating

Menunjukkan apakah timer berulang.

IsRunning

Menunjukkan apakah timer sedang berjalan.

Metode

Start()

Memulai timer.

Stop()

Menghentikan timer.

Acara

Tick

Peristiwa yang diaktifkan saat Interval timer berlalu.

Berlaku untuk