首页 > 编程语言 >C# 使用多线程在关闭窗体时如何关闭所有线程,使程序退出不产生报错

C# 使用多线程在关闭窗体时如何关闭所有线程,使程序退出不产生报错

时间:2022-12-13 09:23:55浏览次数:77  
标签:Thread 报错 窗体 关闭 退出 线程 多线程

在winform开发中,程序内部使用了多线程或定时器等功能,在关闭窗体退出程序时,如果只有UI线程关闭,而托管线程还在运行就会报错。

关闭线程的方法有以下几种,其中最彻底的方法为:System.Environment.Exit(0); 

 

  1. this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
  2. Application.Exit();  强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
  3. Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程法正确退出的问题;
  4. System.Environment.Exit(0);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
  5. Thread_VIEW.Abort(); //关闭Thread_VIEW线程
  6. Thread_SAVE.Abort(); //关闭Thread_SAVE线程

标签:Thread,报错,窗体,关闭,退出,线程,多线程
From: https://www.cnblogs.com/hanzq/p/16977674.html

相关文章