线程优先级和守护线程的概念
优先级
java的线程优先级总共有10个级别,从1到10,1为优先级最小,10为最大。通过线程的setPriority(int)方法来设置优先级。
优先级也并非绝对的优先级,低优先级的线程有时候还是会先于高优先级的线程运行
守护线程
java线程分为两种,用户线程即普通的线程包括主线程、以及守护线程。
守护线程主要用于后台提供服务,比如垃圾回收线程
守护线程与用户线程区别
用户线程,也叫做非守护线程。
1.当所有的用户线程被杀死时,jvm会退出。
2.用户线程可以在线程启动前手动调用setDaemon(true)的方法来把线程转化为守护线程。反之设置为false则为用户线程。
3.用户线程产生的线程默认为用户线程,而守护线程产生的线程默认为守护线程
4.守护线程可能会随时发生中断,所以不适合去访问如文件,数据库等资源,防止内存泄漏