我有一个后台线程用于与GUI分开处理,一切都在线程之间正常工作.但是,当我关闭应用程序时,程序"关闭"但不会终止该过程.后台线程似乎保持程序活着.
我设置了"myThreadInstance.IsBackground = true;",我认为这需要C#在它被杀死时杀死它.
我在Visual Studio(2010,使用.NET 4.0)中测试了这一切,并且在第一次构建之后,其余都失败了,因为exe仍在使用中,因此它无法覆盖它.看着任务经理,就在那里.杀死Visual Studio会释放释放我的exe的vbhost进程.杀死我的exe进程,让vbhost在一两秒内重新生成它.
尝试使用 Application.Exit(0); 在 form_close/form_close 事件中。
Bug:我认为这可能是一个错误。查看此 MSDN 页面底部的评论:http://msdn.microsoft.com/en-us/library/system.threading.thread.isbackground.aspx
另外,尝试使用BackgroundWorker。这是 VisualStudio 杂志中的一个很好的描述:http://visualstudiomagazine.com/articles/2007/09/01/simplify-background-threads.aspx