一个线程 在调用 start 后 运行完毕。
if(!thread.isAlive()){
 thread.start();
}
怎么不行? 
就是说在 调用了一次 start(); 后,第二次就不能再调用了吗?

解决方案 »

  1.   

    首先你应该判断thread对象是否为null;不知道楼主说的不行是抛出了什么异常?
      

  2.   

    如果一个线程结束后,要想重新start(),是要重新new一次的
      

  3.   

    觉得应该可以啊,thread只是个引用啊
      

  4.   

    在调用start()之前,首先new 一个thread对象,然后判断thread对象是否为null,如果不为null,则用while()循环调用start()方法即可。
      

  5.   

    但是我想不new 一个,就用以前的引用 再 start()一次,不行啊。
     也没有报任何错误 就是 run() 方法没有执行。
      

  6.   

    线程从run()退出后已经处于TERMINATED状态,属于DEAD线程了。 再调用start会有异常。