【发布时间】:2013-03-01 02:05:09
【问题描述】:
我正在尝试在我的程序中实现后台工作程序,以便在我运行程序并开始检索我需要的数据时它不会冻结。
我不太确定后台工作人员是如何工作的。
【问题讨论】:
-
在 MSDN msdn.microsoft.com/en-us//library/… 你有一个很好的例子和解释它是如何工作的。
标签: c# asp.net backgroundworker
我正在尝试在我的程序中实现后台工作程序,以便在我运行程序并开始检索我需要的数据时它不会冻结。
我不太确定后台工作人员是如何工作的。
【问题讨论】:
标签: c# asp.net backgroundworker
后台工作线程是在后台运行的线程,并且在不中断/阻塞您的主线程的情况下工作。
您可以阅读更多here。
简而言之:
在 DoWork 中执行您的阻塞操作。只要有可能,使用(sender as BackgroundWorker).ReportProgress(50); 报告您的操作完成的程度,例如报告完成度为 50%。
您可以让您的主线程订阅“ProgressChanged”事件,该事件可以更新 GUI 或执行进度更改时应该发生的其他任务。
【讨论】: