java守护线程

作者:追风筝的人 | 创建时间: 2023-07-06
java中根本没有单线程程序,就算开发人员只开发了主线程,后台还是有很多的辅助线程。,比如JVM的垃圾回收、内存管理等线程。后台运行的线程一般称为守护线程。...
java守护线程

操作方法

守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程. public final void setDaemon(boolean on)将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。 该方法内部源代码:首先调用该线程的 checkAccess 方法,且不带任何参数。这可能抛出 SecurityException(在当前线程中),所以调用该方法要进行异常处理。 参数:    on - 如果为 true,则将该线程标记为守护线程。      抛出:        IllegalThreadStateException - 如果该线程处于活动状态。        SecurityException - 如果当前线程无法修改该线程。‍‍

注意: setDaemon()方法必须在启动线程前调用。

代码演示!

代码演示!

代码演示!

代码演示!

从上面的执行结果可以看出: 前台线程是保证执行完毕的,后台线程还没有执行完毕就退出了。 实际上:JRE判断程序是否执行结束的标准是所有的前台执线程行完毕了,而不管后台线程的状态,因此,在使用后台县城时候一定要注意这个问题。

点击展开全文

更多推荐