线程ID
可以看到,线程ID是从1开始,子线程ID直接跳到了12,而不是2,原因是在JVM启动时,会创建很多守护线程。
守护线程
作用:给用户线程提供服务
特性:
- 线程类型默认继承自父线程
- 守护线程由JVM启动,JVM启动过程中只有一个线程是用户线程:main
- 守护线程不会影响JVM的退出
守护线程和用户线程的区别:大体一样,不同点是:用户线程全部结束后,JVM不管守护线程是否结束,都可以直接退出
受否需要将线程设置为守护线程:不应该将用户线程设置为守护线程。如果将用户线程设置为守护线程,会变得危险。例如,线程正在访问文件,JVM发现只剩下守护线程,就会将JVM关闭掉,强行终止,造成数据不一致。
线程优先级
线程中一共有10个级别,但程序的实际不应该依赖于优先级,因为不同的操作系统不一样,并且优先级会被操作系统改变,例如死锁等。