问题:
目前知道在线程那里设置个属性
Thread th = new Thread(Excute);
th.IsBackground = true;
这样就基本上可以解决问题了。
这个属性的意思就是把线程设置为后台线程。
然后关闭进程的同时,线程也会随之关闭。想知道除了这个方法。
不知道各位还有什么妙招?????
比如C#本有的TcpClient.BeginConnect方法是异步请求连接(也是一个开启线程的方法)。如果在开始连接的时候,关闭窗体,应该做什么处理??????
度娘说:
程序退出的方法:
this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
我是用了 th.IsBackground = true 就解决了的,System.Environment.Exit(0);是不是更彻底些呢???????
不过个人觉得这些方法太过暴力解决,我觉得应该有更合适更正确的处理程序的方法,还请各大网友相助!!!
推荐我看什么书或者提供什么方法,思路什么都行!
回答1:
正常情况下,程序员是需要自己负责回收垃圾的,更合适更正确的方法,就是你自己回收。
除非你很确定系统能帮你回收的情况。
回答2:
建议写日志,帮助定位错误位置。