【问题标题】:Background Worker How To后台工作人员如何
【发布时间】:2013-03-01 02:05:09
【问题描述】:

我正在尝试在我的程序中实现后台工作程序,以便在我运行程序并开始检索我需要的数据时它不会冻结。

我不太确定后台工作人员是如何工作的。

【问题讨论】:

标签: c# asp.net backgroundworker


【解决方案1】:

后台工作线程是在后台运行的线程,并且在不中断/阻塞您的主线程的情况下工作。

您可以阅读更多here

简而言之:

在 DoWork 中执行您的阻塞操作。只要有可能,使用(sender as BackgroundWorker).ReportProgress(50); 报告您的操作完成的程度,例如报告完成度为 50%。

您可以让您的主线程订阅“ProgressChanged”事件,该事件可以更新 GUI 或执行进度更改时应该发生的其他任务。

【讨论】:

  • 我不确定在我的代码的这一部分中实现什么 private void fNameBrowser(string fName, string dir) { }
  • 除非您发布一些代码,否则我绝对无法知道您的代码是如何工作的
  • 已发布!我的应用程序是一个文件浏览器。进入目录后,它需要后台工作人员继续更新,而不是冻结。
猜你喜欢
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多