好了,所以我一直对了Thread.Sleep,Task.Delay,的AutoResetEvent读了...等有道推迟执行代码在后台工作
我看到很多的争论,这因为它使用取决于正在执行的任务。
我目前使用Thread.Sleep,并认为我需要开始避免它,并使用更好的做法。
这是一个包含BackgroundWorker的客户端应用程序。该工作人员每30分钟运行一次以检查Web服务的更新数据。
然后它更新位于MainWindow中的3个整型变量。这些对UI没有任何作用。它们仅用于检查正在运行的其他工作人员。
是一种比另一种更好的延迟方法吗?
如果用户退出应用程序,并且调用Application.Current.Shutdown(),它会继续运行,直到Thread.Sleep完成,否则即使线程正在休眠,它也会退出吗?
为什么不使用反对睡眠/后台工作定时器吗? – Jason
Dispatcher.BeginInvoke(DispatcherPriority.Background,...); –