- 线程优先级
Thread中几个优先级常量 及说明:
Thread.MAX_PRIORITY,Thread.MIN_PRIORITY,Thread.NORM_PRIORITY对应数值 10,1,5
线程总共有1到10个优先级值,创建线程时默认优先级为5,可以通过优先级有关静态方式
修改其优先级。
下面通过简单实例演示
public class ThreadDemo6 { public static void main(String[] args) { Thread max = new Thread(){ @Override public void run() { for(int i=0;i<1000;i++){ System.out.println("max"); } } }; Thread min = new Thread(){ @Override public void run() { for(int i=0;i<1000;i++){ System.out.println("min"); } } }; Thread norm = new Thread(){ @Override public void run() { for(int i=0;i<1000;i++){ System.out.println("norm"); } } }; max.setPriority(Thread.MAX_PRIORITY); min.setPriority(Thread.MIN_PRIORITY); min.start(); norm.start(); max.start(); } }
总结说明:
* 线程优先级
* 线程不能涉及线程调度的工作,线程不能要时间片,
* 只能被动的被分配,并且分配给哪个线程也是不可控的.
* 改变线程的优先级可以改变时间片分配几率.
* 理论上,线程优先级高的线程获取CPU时间片的次数多.