每次new就是一个新的线程,但是只要之前的线程运行完了,系统也会回收的,不过你要能保证之前的能运行完。
多线程对同一个对象操作的时候,一定要记得做好同步(通过synchronized),不然一堆线程同时访问一个对象会乱的。

解决方案 »

  1.   

    线程任务处理完没有 你自己是知道的啊 而且还有 Handle呢
      

  2.   

    楼主问题 不能直接执行dThread.start()吗 ? 
      

  3.   

    多谢各位。是直接执行dThread.start(),只是没搞清楚要不要每次都执行dThread = new MyThread();再执行dThread.start();
      

  4.   

    一般run里面都是一个无限循环,线程结束后run才结束。
      

  5.   

    那,跑完了后,还能不能dThread.start()了,为什么,谁能解释下,感兴趣,哈哈,过去不搞java,vc中句柄还在啊,java是不是就废了啊,必须new了
      

  6.   

    貌似我该用线程池来管理线程,如果只是不停的创建,销毁的话,系统开销太大。 在JAVA中,一个线程一旦运行完毕,即执行完其run()方法,就不可以重新启动了。此时这个线程对象也便成了无用对象,等待垃圾回收器的回收。下次想再启动这个线程时,必须重新new出一个线程对象再start之。频繁地创建和销毁对象不仅影响运行效率,还可能因无用线程对象来不及被回收而产生大量的垃圾内存,在存储空间和处理速度都相对受限的移动平台上这种影响尤为显著。
    http://eyesye.javaeye.com/blog/234090
      

  7.   

    恩,java的线程设计够2的了,哈哈,java vm真勤劳。
      

  8.   

    重新再new一个对象,再调用start方法