JVM内的守护线程Deamon与用户线程User Thread

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6561771.html 

    一:守护线程Daemon

    守护线程:Daemon在希腊神话中解作“守护神”,顾名思义就是一直在JVM后台中运行着,为其他线程(用户线程)服务的。例如:垃圾回收线程GC线程就是守护线程。

    守护线程的生命周期:随着程序在JVM中运行,守护线程第一时间被启动,并且一直处于运行态。

                                当所有用户线程都执行完毕后,程序就会杀死守护线程,离开JVM,终止程序。

 

    二:用户线程转化为守护线程

     守护线程可以由用户线程转化而来,成为当前程序的守护线程之一运行到程序退出。

     我们可以调用用户线程对象的setDaemon(true)方法来将其转化为守护进程,然后启动它,它将持续运行到程序退出。

     在将用户线程转化为守护线程时要注意:

    (1) thread.setDaemon(true)必须在thread.start()之前设置,不能把正在运行的用户线程设置为守护线程。 

    (2) 在Daemon线程中产生的新线程也是Daemon的。

    (3) 守护线程不能用来进行JVM中文件、数据库的读写或者进行计算任务,因为当所以用户线程完成后程序会强行杀死所以守护线程,而若在守护线程中进行读写或计算的话有可能因为程序的退出而导致操作不能完成。

    

转载于:https://www.cnblogs.com/ygj0930/p/6561771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值