应用程序关闭时BackGroundWorker线程

时间:2013-07-26 09:12:06

标签: c# mvvm backgroundworker

以下是我的情景: -

我有一个BackGroundWorker线程订阅了2个事件DoWork和RunWorkerCompleted。我正在做的是DoWork事件我正在做的时间任务和更新使用MainThread和RunWorkerComplete启动Loader的UI我正在更新我的UI那就是停止装载机。

现在我要确保当我的应用程序在BackgroundWorker为ON时终止时,加载器正在旋转。我想确保它杀死BakcgroundWorker线程或至少终止应用程序结果的线程SAFE当装载机开启时。

Dispose会给任何HElp ..?当应用程序终止发生时,DynamicGarbageCollection将处理unusedObjects将执行与Dispose相同的操作。??

希望我很清楚......我怎么能实现这一点。??

2 个答案:

答案 0 :(得分:1)

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

请勿在此处调用Dispose()。您可以取消后台工作,但DoWork()中的代码必须符合。

答案 1 :(得分:0)

根据定义,后台线程将无法使主机进程保持运行(而不是前台线程 - 例如呈现UI组件的线程)。

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