java线程优先级和守护线程的概念

线程优先级和守护线程的概念

优先级

java的线程优先级总共有10个级别,从1到10,1为优先级最小,10为最大。通过线程的setPriority(int)方法来设置优先级。
优先级也并非绝对的优先级,低优先级的线程有时候还是会先于高优先级的线程运行

守护线程

java线程分为两种,用户线程即普通的线程包括主线程、以及守护线程。
守护线程主要用于后台提供服务,比如垃圾回收线程

守护线程与用户线程区别

用户线程,也叫做非守护线程。
1.当所有的用户线程被杀死时,jvm会退出。
2.用户线程可以在线程启动前手动调用setDaemon(true)的方法来把线程转化为守护线程。反之设置为false则为用户线程。
3.用户线程产生的线程默认为用户线程,而守护线程产生的线程默认为守护线程
4.守护线程可能会随时发生中断,所以不适合去访问如文件,数据库等资源,防止内存泄漏

参考文献

多线程系列 - 基础篇01 - 线程基本概念 & 线程优先级 & 守护线程 60%
守护线程与非守护线程

猜你喜欢

转载自blog.csdn.net/weixin_37974649/article/details/85243630