类我是这样写的:   public class TestThread extends Thread{  public void run() {
    try{
      Vector v = getTestThreadList();
      TestVO vo;
      for (int i = 0; i < v.size(); i++) {
        vo = (Ad10010) v.get(i);
           /**
               *
               *此处省略了一点业务逻辑;
               *
           /**           System.out.println("this is my TestThred ......"+i)
        
        sleep(50L);
      
      }
         }
    catch(Exception e){
      e.printStackTrace();
    }
  }
}
  其中getTestThreadList 是获取TestVO的一个方法,这里就不写了。
  我想问的是
   1.这个线程如果执行完了是不是还是一直在那里,怎么让他自动停止?
   2.线程这样效率如何?
   3.有没有更好的方法?
 谢谢!!!!!

解决方案 »

  1.   

    不会的执行完run方法后就自动停止了,如果你要手动停止的话用join好了
      

  2.   

    run方法执行完成之后这个线程就会死掉 也就没有了 一般不建议手动停止
    效率问题不是在线程上,线程就是这样写的。采用多线程就是为了提高效率啊
    这是我的看法 欢迎大家拍砖
      

  3.   

    1.run方法执行完成之后这个线程就会死掉.
    2.我也不太清楚你所说的效率指的是什么?我想那么多次循环效率也还好吧
    3.无
      

  4.   

    1.这里Vector v = getTestThreadList();得到的是同一个 Vector的引用?那多个线程为什么要写多次?
    2. Vector 是线程安全的
      

  5.   

    run 结束了,线程就结束了。