当前位置: 代码迷 >> J2SE >> 线程会不会被gc回收?该如何处理
  详细解决方案

线程会不会被gc回收?该如何处理

热度:91   发布时间:2016-04-23 21:05:13.0
线程会不会被gc回收?
1.主线程
2.用户线程
3.守护线程
哪种会被gc回收?是不是守护线程不会被gc回收?(所有非守护线程都结束时除外)。守护线程在执行完一次后,是否可以设置为用户线程?
我想弄一个线程,可以重复执行多次也就是可以reset和restart,使用实现了Worker接口的线程就可以是吧。我还想重复执行多次之后,这个线程的使命就完成了,让这个线程处于可以被gc回收的状态。
------解决方案--------------------
线程也会被回收啊。一般只要是不可用不可达的内存地址对象都可以被回收
------解决方案--------------------
1.用户线程执行完后就会被gc回收
2.守护线程在所有用户线程执行完成之后退出
3.守护进程在下一次start之前设置setDaemon(false)可以转为用户线程
4.想重复利用线程的话,可以使用Concurrent包里面的线程池,FixedThreadPool或者CachedThreadPool
  相关解决方案