快捷搜索:  汽车  科技

关于线程的优先级,线程的优先级

关于线程的优先级,线程的优先级通过上图得出结论,不要把线程的优先级与运行结果的顺序作为衡量的标准。优先级具有随机性,也就是优先级较高的线程不一定每一次都先执行完毕。public final static int MAX_PRIORITY = 10;线程优先级具有规则性。从图看出线程的优先级与代码的执行顺序无关,线程的优先级具有一定的规则性,CPU尽量先执行优先级高的。

在操作系统中,线程可以划分优先级,在Java中线程一共分为1~10个等级,如果小于1或者大于10,则JDK抛出 throw new IllegalArgumentException()这个异常信息。

JDK中经常使用3个常量来预设定义优先级的值,如下案例

public final static int MIN_PRIORITY = 1;

public final static int NORM_PRIORITY = 5;

public final static int MAX_PRIORITY = 10;

线程优先级具有规则性。

关于线程的优先级,线程的优先级(1)

从图看出线程的优先级与代码的执行顺序无关,线程的优先级具有一定的规则性,CPU尽量先执行优先级高的。

优先级具有随机性,也就是优先级较高的线程不一定每一次都先执行完毕。

关于线程的优先级,线程的优先级(2)

关于线程的优先级,线程的优先级(3)

关于线程的优先级,线程的优先级(4)

通过上图得出结论,不要把线程的优先级与运行结果的顺序作为衡量的标准。

在Java中线程有两种线程,一种是用户线程,另一种是守护线程。

守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁,典型的守护线程就是垃圾回收线程。

猜您喜欢: