C#关闭退出线程的几种方法?

1.Application.Exit(); //强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
2.System.Environment.Exit(0); //无论在主线程和其它线程,只要执行了这句,都可以把程序结束干净
3.this.Close();//只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
4.Application.ExitThread();//强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;