java多线程笔记四之线程的优先级

在操作系统中,线程可以划分优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务。设置线程优先级有助于帮助“线程规划器”确定下一次选择哪一个线程来优先执行。

设置线程的优先级使用setPriority()方法。

在java中,线程的优先级分为1-10,如果小于1或者大于10,则JDK抛出异常throw new IllegalArgumentException()。

JDK中使用3个常量来预置定义优先级的值,

public final static int MIN_PORIORITY = 1;

public final static int NORM_PORIORITY = 1;

public final static int MAX_PORIORITY = 1;

优先级的特性

1.继承特性

    A线程启动B线程,则B线程的优先级与A是一样的。

2.规则性

    线程的优先级与代码执行顺序无关,高优先级的线程总是大部分先执行完(但不代表高优先级的线程全部执行完),说明线程的优先级具有一定的规则性,也就是CPU尽量将执行资源让给优先级比较高的线程。

3.随机性

    优先级较高的线程不一定每一次都先执行完。

线程的运行速率

优先级高的线程运行得快。

你可能感兴趣的:(java多线程笔记四之线程的优先级)