1 问题背景
是这样的,我需要启动一个轮询线程,然后,在退出的时候,发现其并没有被关掉,于是问题就产生了。主要在wpf程序,winform中遇到的。
2 解决办法
2.1 等待线程退出
这样就有了等待的说法,自然是要等线程全部退出才退出程序比较好。这个办法暂时还没用。
2.2 强制退出
然后,我采用了暴力的手段。
2.2.1 实例退出
Application.Exit();
会有问题的,release下会崩溃或者弹框。不是我们想要的。
2.2.2 线程销毁
.Abort();
这个也是有问题的,因为线程过多的话,不一定能正确销毁。
2.2.3 终止进程的运行环境
Environment.Exit(0);
虽然我也不太看好强制退出,但这样好像能避免尴尬。不会弹框。