根本不写这种“异常”程序!如果你正常地用一个变量(标志)来控制,那么就无需写什么try....catch,而且线程退出是“主动的”根本不会抛出什么异常。try....catch就是悲催的,你连调试能力都丧失了(你根本不知道是从哪一行代码跳出的),如何调试和改进程序?改变挂念,重新考虑程序设计原则,才好清晰地解决各种开发问题。

解决方案 »

  1.   

    这种慌不择路的所谓“终止线程的方法”,不但会让系统连接数据库之类的状态出错,而且会损坏数据文件,损坏硬件,甚至比如说你的线程正在控制给一个病人输液时可能会不管不顾地无限加大剂量,等等,因为你根本不知道从哪一行跳出来的。系统每一次执行都可能带着不一样的“病症”继续在你try...catch这种自欺欺人的“容错”之下而继续运行。真正能够让你第三个线程自主地跳出线程,得像你前两个线程的跳出一样才行!
      

  2.   

    不要使用Thread.Abort Resume Supend之类的调用,它们本身就是不安全的。应该让线程自身有序地退出。http://www.cnblogs.com/bloodish/archive/2011/03/21/1990025.html