日期:2014-05-20  浏览次数:20639 次

救命,关于java中终止线程问题
public   class   CalculateThread   extends       Thread{
        private   EntityDataRetrieveCondition   conditions   =   null;      
        public   CalculateThread(EntityDataRetrieveCondition   conditions){
this.conditions   =   conditions;    
        }

        public   void   run(){
                FilterCalTypeSet   filterCalTypeSet   =   new   FilterCalTypeSet();
                filterCalTypeSet.executeCalculate(conditions);
        }  
       
}

public   void   A{
      CalculateThread   calculation   =   null;  
      calculation   =   new   CalculateThread(conditions);  
      try   {
            calculation.start();
            ????????如何结束当前线程
      }   catch   (NamingException   e)   {
System.out.println(e);
      }
}

------解决方案--------------------
calculation.interrupt();
------解决方案--------------------
很奇怪,楼主你为什么刚把线程起起来就要将其停掉,CalculateThread 这个线程的Run方法执行完后不线程不就退出了么?

interrupt()方法可以立即中断线程
------解决方案--------------------
1、程序执行完了自动结束。
2、stop()方法
3、使用布尔变量判断。
------解决方案--------------------
run方法执行完毕自然结束啊
------解决方案--------------------
stop()在jdk1.2就是不推荐的方法了。在jdk1.5可以用不过在某些开发环境会有不安全警告。