Java中的线程分为daemon与user,其中main线程就是一个user线程,而在JVM中也存在许多守护线程(如垃圾回收),只有最后一个user线程退出后JVM才会退出,也就是说守护线程是否退出不影响JVM退出。可以通过线程实例的setDaemon(true) 方法设置线程为守护线程。
    如果希望线程在主线程执行完毕后还继续运行,那么应该设置为用户线程,否则设置为守护线程。