多线程学习笔记——第五篇(线程优先级)

线程优先级

在Java程序设计语言中,每一个线程有一个优先级。默认情况下,一个线程会继承构造它的那个线程的优先级。可以用setPriority方法提高或降低在何一个线程的优先级。

可以将优先级设置为MIN PRIORITY (在Thread类中定义为1)与MXPRIORIT定义为10)之间的任何值。

NORMTPRIORITY定义为5。

每当线程调度器有机会选择新线程时,它首先选择具有较高优先级的线程。但是,线程优先级高度依赖于系统。当虚拟机依赖于宿主机平台的线程实现时, Java线程的优先级会映射到宿主机平台的优先级,平台的线程优先级别可能比上述的10个级别多,也可能更少。

例如, Windows有7个优先级别。Java的一些优先级会映射到同一个操作系统优先级。
在Oracle为Linux提供的Java虚拟机中,会完全忽略线程优先级-一所有线程都有相同的优先级。
在没有使用操作系统线程的Java早期版本中,线程优先级可能很有用。不过现在不要使用线程优先级了。

void setPriority(int newPriority)
设置线程的优先级。优先级必须在Thread. MIN PRIORIY与Thread. MAX PRIORITY之间。一般使用Thread. NORM PRIORITY优先级。

static int MIN_PRIORITY
是Thread可以有的最小优先级,最小优先级的值为1

static int NORM PRIORIT
Thread的默认优先级。默认优先级为5。

static int MAX_PRIORITY
是Thread可以有的最大优先级。最大优先级的值为10

你可能感兴趣的:(Java学习笔记,多线程,java)