1.用户线程执行完后就会被gc回收
2.守护线程在所有用户线程执行完成之后退出
3.守护进程在下一次start之前设置setDaemon(false)可以转为用户线程
4.想重复利用线程的话,可以使用Concurrent包里面的线程池,FixedThreadPool或者CachedThreadPool

解决方案 »

  1.   

    线程不会被回收,线程对象会。
    当一个线程被阻塞,被挂起,或者正在执行,都不会被回收。
    很简单,我无限循环某个操作,难道gc还能回收掉不让他执行么?
    再者,我设置一个线程挂起,2年后执行,难道不行么?
    在java里面,线程未启动,或者线程完成执行以后,起对应的线程对象在没有强引用的情况下就会被回收掉。