三.线程优先级和守护进程
Posted duan2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三.线程优先级和守护进程相关的知识,希望对你有一定的参考价值。
1.线程的优先级
在操作系统中,线程可以划分优先级,优先级高的线程得到的CPU资源较多,也是CPU优先执行优先级较高的线程对象中的任务。
设置线程优先级有助于帮“线程规划器”确定在下一次选择哪一个线程来优先执行。
设置优先级使用setPriority()方法。
线程优先级的继承性
java中线程的优先级具有继承性,比如A启动B,则B的优先级和A相同。
优先级具有规则性
虽然使用setPriority()方法可以设置线程的优先级,但还没有看到设置优先级所带来的效果
线程2:
高优先级的线程总是大部分先执行完,但不代表高优先级的线程全部先执行完。不要以为MyThread线程被main线程调用就会先执行完,出这样的结果完全是MyThread1的优先级是10造成的。
当线程的优先级差别很大时,谁先执行完和代码的调用顺序无关。
优先级具有随机性
守护进程
java线程中有两种线程,一种是用户线程,一种是守护线程。
守护线程是一种特殊的线程,当线程中不存在非守护线程时,守护线程自动销毁。典型的守护线程是垃圾回收线程。任何一个守护线程都是在整个JVM中所有的非守护线程的“保姆”,只要当前JVM实例中存在任何一个非守护线程没有结束,守护线程就在工作,只有等最后一个非守护线程结束时,守护线程才随着JVM一同结束工作。
以上是关于三.线程优先级和守护进程的主要内容,如果未能解决你的问题,请参考以下文章