0

这是我的场景:-

我有一个 BackGroundWorker 线程,它订阅了 2 个事件 DoWork 和 RunWorkerCompleted 。我正在做的是在 DoWork 事件中我正在做计时任务并更新正在使用 MainThread 和 RunWorkerComplete 启动加载器的 UI 我正在更新我正在停止的 UI装载机。

现在我想确保当我的应用程序在 BackgroundWorker 处于打开状态时终止时,加载器正在旋转。我想确保它杀死 BakcgroundWorker 线程,或者至少在 LOADER 时应用程序的终止导致线程安全开启。

Dispose 会提供任何帮助吗?或 DynamicGarbageCollection 将在应用程序终止发生时处理未使用的对象将执行与 Dispose 相同的操作。??

希望我很清楚..我怎样才能做到这一点.??

4

2 回答 2

1

当您的应用程序终止时,bgw 线程本身将停止,但您必须注意不要更新已关闭/关闭表单上的控件。

不要在这里调用 Dispose()。您可以取消后台工作人员,但 DoWork() 中的代码必须遵守。

于 2013-07-26T09:16:46.087 回答
0

根据定义,后台线程将无法保持主机进程运行(与前台线程相反——例如呈现 UI 组件的线程)。

请参阅 MSDN 文档:http: //msdn.microsoft.com/en-us/library/h339syd0.aspx

于 2013-07-26T09:58:25.537 回答