java守护线程
java中根本没有单线程程序,就算开发人员只开发了主线程,后台还是有很多的辅助线程。,比如JVM的垃圾回收、内存管理等线程。后台运行的线程一般称为守护线程。
操作方法
- 01
守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程. public final void setDaemon(boolean on)将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。 该方法内部源代码:首先调用该线程的 checkAccess 方法,且不带任何参数。这可能抛出 SecurityException(在当前线程中),所以调用该方法要进行异常处理。 参数: on - 如果为 true,则将该线程标记为守护线程。 抛出: IllegalThreadStateException - 如果该线程处于活动状态。 SecurityException - 如果当前线程无法修改该线程。
- 02
注意: setDaemon()方法必须在启动线程前调用。
- 03
代码演示!
- 04
代码演示!
- 05
代码演示!
- 06
代码演示!
- 07
从上面的执行结果可以看出: 前台线程是保证执行完毕的,后台线程还没有执行完毕就退出了。 实际上:JRE判断程序是否执行结束的标准是所有的前台执线程行完毕了,而不管后台线程的状态,因此,在使用后台县城时候一定要注意这个问题。
赞 (0)