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)

相关推荐

  • JAVA中断线程三大基本方法

    操作方法 01 以前,我们要终止线程运行的话通常会运用到Thread.suspend, Thread.resume,Thread.stop和Runtime.runFinalizersOnExit,但是 ...

  • Java创建线程的两个方法

    操作方法 01 Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线 ...

  • JAVA线程安全:[1]浅谈JAVA内存模型

    关于java线程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是很痛苦的,知道一些东西,但想用文字说清楚,却不是那么容易.我认为要认识java线程安全,必须了解两个主要的点: ...

  • java定时任务,每天定时任务

    今天为大家分享的一个就是java的定时任务,就是说在一天的某个时间点执行我的这点代码. 编程语言:java IDE:MyEclipse jar包:servlet.jar 环境:jdk1.6 首先创建一 ...

  • java定时器的使用(非Spring定时器)

    对Timer类的详细介绍 操作方法 01 java定时器的使用( ) 1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等. 对于这样的操作最方便.高效的实现方式就是使用java.u ...

  • 如何自学java

    Java作为一门计算机语言,虽然入门要容易, 然而要精通它, 要成为专家却很难. 主要原因是Java所涉及的技术面比较宽, 人的精力总是有限的. 有些Java方面的技术是必须要要掌握的, 钻研得越深入 ...

  • java线程池的使用

    大量的创建线程,会过度消耗计算机资源,对于比较简单的任务可以使用线程池,限制过度创建线程.Java中提供大量的线程池构类,类型多种多样,包括: (1) newCachedThreadPool (2) ...

  • JAVA线程安全:[4]volatile关键字

    volatile是java提供的一种同步手段,只不过它是轻量级的同步,为什么这么说,因为volatile只能保证多线程的内存可见性,不能保证多线程的执行有序性.而最彻底的同步要保证有序性和可见性,例如 ...

  • 基于Java线程实现后台定时监控

    熟悉编写JavaScript的人,都习惯在页面写入setTimeOut来实现web页面的定时监控或事务处理.但是如何在Java服务端来实现这样一个监控机制呢?一般大家都会想到线程.但是一直以来,都没有 ...