【发布时间】:2013-11-27 20:49:01
【问题描述】:
假设,我像这样创建BackgroundWorker
private void RunBackgroundWorker(object sender, DoWorkEventArgs e)
{
// Do something lengthy here
// which takes a lot of time
}
private void BackgroundWorkerCompleted(object sender, RunWorkerCompletedEventArgs)
{
System.Threading.Thread.Sleep(2000) ;
BackgroundWorker1.RunWorkerAsync() ;
}
我想问一下BackgroundWorkerCompleted函数的内容是在“后台”线程还是主UI线程上执行的。我问这个是因为,我正在创建一个桌面应用程序,它使用数据库并在每隔几秒后不断更新它的数据库
【问题讨论】:
-
使用 async/await 怎么样?
-
你为什么不运行它并找出答案。毕竟你有代码。
-
如果你想每 2 秒运行一次代码,你应该使用
Timer,而不是 BackgroundWorker。
标签: c# .net backgroundworker