应用程序关闭时的BackGroundWorker线程
本文关键字:BackGroundWorker 线程 应用程序 | 更新日期: 2023-09-27 18:24:58
这是我的场景:-
我有一个BackGroundWorker线程,它订阅了两个事件DoWork和RunWorkerCompleted。我正在做的是在DoWork事件中,我正在执行计时任务和更新正在使用MainThread启动加载器的UI,在RunWorkerComplete上,我正在更新正在停止加载器的UI。
现在,我想确保的是,当我的应用程序在BackgroundWorker打开时被终止时,加载程序正在旋转。我想确保它会杀死BakcgroundWorker线程,或者至少在LOADER打开时终止应用程序会导致线程安全。
Dispose是否会提供任何HElp。。?或者DynamicGarbageCollection将在应用程序终止时处理未使用的对象。它将执行与Dispose相同的操作。??
希望我是清白的。。我怎样才能做到这一点。??
当您的应用程序终止时,bgw线程本身将停止,但您必须注意不要更新关闭/关闭表单上的控件。
不要在此处调用Dispose()。您可以取消后台工作程序,但DoWork()中的代码必须符合要求。
根据定义,后台线程将无法保持主机进程的运行(与前台线程相反,比如渲染UI组件的线程)。
请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/h339syd0.aspx