2

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

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

4

1 回答 1

4

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

你可以在这里阅读更多。

简而言之:

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

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

于 2013-03-01T02:07:36.160 回答