Android(java)学习笔记3:线程的优先级

1. Java线程的优先级从1到10级别,值越大优先级越高线程默认优先级是5值越大优先级越高

(1) 继承自Thread类创建线程类:

package cn.itcast_04;

public class ThreadPriority extends Thread {
    @Override
    public void run() {
        for (int x = 0; x < 100; x++) {
            System.out.println(getName() + ":" + x);
        }
    }
}

(2)测试类代码,如下:

 1 package cn.itcast_04;
 2 
 3 /*
 4  * 我们的线程没有设置优先级,肯定有默认优先级。
 5  * 那么,默认优先级是多少呢?
 6  * 如何获取线程对象的优先级?
 7  *         public final int getPriority():返回线程对象的优先级
 8  * 如何设置线程对象的优先级呢?
 9  *         public final void setPriority(int newPriority):更改线程的优先级。 
10  * 
11  * 注意:
12  *         线程默认优先级是5。
13  *         线程优先级的范围是:1-10。
14  *         线程优先级高仅仅表示线程获取的 CPU时间片的几率高,但是要在次数比较多,或者多次运行的时候才能看到比较好的效果。
15  *         
16  * IllegalArgumentException:非法参数异常。
17  * 抛出的异常表明向方法传递了一个不合法或不正确的参数。 
18  * 
19  */
20 public class ThreadPriorityDemo {
21     public static void main(String[] args) {
22         ThreadPriority tp1 = new ThreadPriority();
23         ThreadPriority tp2 = new ThreadPriority();
24         ThreadPriority tp3 = new ThreadPriority();
25 
26         tp1.setName("东方不败");
27         tp2.setName("岳不群");
28         tp3.setName("林平之");
29 
30         // 获取默认优先级
31         // System.out.println(tp1.getPriority());
32         // System.out.println(tp2.getPriority());
33         // System.out.println(tp3.getPriority());
34 
35         // 设置线程优先级
36         // tp1.setPriority(100000);
37         
38         //设置正确的线程优先级,
39         tp1.setPriority(10);
40         tp2.setPriority(1);
41 
42         tp1.start();//设置tp1线程优先级为10
43         tp2.start();//设置tp2线程优先级为1
44         tp3.start();//默认tp3线程优先级为5
45     }
46 }
原文地址:https://www.cnblogs.com/hebao0514/p/4506905.html