Java多线程Day10-多线程之线程优先级和守护线程
线程优先级和守护线程
- 线程优先级
线程优先级
- Java中的线程优先级范围为1~10, 默认优先级为5 . 高优先级线程会优先于低优先级线程执行
Java中有两种线程:
- 用户线程: 执行用户级任务
- 守护线程: 执行后台任务
可以使用isDaemon() 来对两种线程进行区分:
- 如果返回true, 则表示是守护线程
- 如果返回false, 则表示是用户线程
- JVM会在用户线程都执行结束后退出
- 每一个线程都可以被标记为一个守护线程或者非守护线程
在一些运行的主线程中创建新的子线程时:
- 子线程的优先级会设置为创建子线程的主线程的优先级
- 当且仅当创建子线程的主线程为守护线程时,子线程才会是守护线程
- JVM启动时,通过会有一个单一的非守护线程,即通过main() 方法启动的线程
JVM退出条件:
- 调用了exit() 方法,并且exit() 方法有正常执行的权限
- 所有的非守护线程都执行结束
还没有评论,来说两句吧...