BackGround线程与应用程序级别的WPF应用程序的计时器

Jee*_*rma 3 c# wpf multithreading timer scheduler

我有一个wpf应用程序(没有MVVM),这个应用程序需要几个后台线程(运行具有特定的时间间隔).

这些线程应该在应用程序级别,即如果用户在任何WPF窗口上,这些线程应该是活动的.

基本上这些线程将使用外部资源,因此也需要锁定.

请告诉我最好的方法.

Tud*_*dor 8

如果要在WPF应用程序中定期执行操作,可以使用DispatcherTimer类.

将您的代码作为Tick事件的处理程序,并将Interval属性设置为您需要的任何内容.就像是:

DispatcherTimer dt = new DispatcherTimer();
dt.Tick += new EventHandler(timer_Tick);
dt.Interval = new TimeSpan(1, 0, 0); // execute every hour
dt.Start();

// Tick handler    
private void timer_Tick(object sender, EventArgs e)
{
    // code to execute periodically
}
Run Code Online (Sandbox Code Playgroud)