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

线程会不会被gc回收?
1.主线程
2.用户线程
3.守护线程
哪种会被gc回收?是不是守护线程不会被gc回收?(所有非守护线程都结束时除外)。守护线程在执行完一次后,是否可以设置为用户线程?
我想弄一个线程,可以重复执行多次也就是可以reset和restart,使用实现了Worker接口的线程就可以是吧。我还想重复执行多次之后,这个线程的使命就完成了,让这个线程处于可以被gc回收的状态。

------解决方案--------------------
线程也会被回收啊。一般只要是不可用不可达的内存地址对象都可以被回收
------解决方案--------------------
1.用户线程执行完后就会被gc回收
2.守护线程在所有用户线程执行完成之后退出
3.守护进程在下一次start之前设置setDaemon(false)可以转为用户线程
4.想重复利用线程的话,可以使用Concurrent包里面的线程池,FixedThreadPool或者CachedThreadPool