以下是我的情景: -
我有一个BackGroundWorker线程订阅了2个事件DoWork和RunWorkerCompleted。我正在做的是DoWork事件我正在做的时间任务和更新使用MainThread和RunWorkerComplete启动Loader的UI我正在更新我的UI那就是停止装载机。
现在我要确保当我的应用程序在BackgroundWorker为ON时终止时,加载器正在旋转。我想确保它杀死BakcgroundWorker线程或至少终止应用程序结果的线程SAFE当装载机开启时。
Dispose会给任何HElp ..?当应用程序终止发生时,DynamicGarbageCollection将处理unusedObjects将执行与Dispose相同的操作。??
希望我很清楚......我怎么能实现这一点。??
答案 0 :(得分:1)
当您的应用程序终止时,bgw线程本身将被停止,但您必须注意不要更新已关闭/关闭表单上的控件。
请勿在此处调用Dispose()。您可以取消后台工作,但DoWork()中的代码必须符合。
答案 1 :(得分:0)
根据定义,后台线程将无法使主机进程保持运行(而不是前台线程 - 例如呈现UI组件的线程)。
请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/h339syd0.aspx