线程调度模型
分时调度模型 和 抢占式调度模型
分时调度模型
所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间片
抢占式调度模型
优先让优先级高的线程使用CPU, 如果下线程优先级相同,那么会随机选择一个.
Java使用的式 抢占式调度模型
代码示例
public class ThreadPriority extends Thread {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(getName() + ":" + i);
}
}
}
public static void main(String[] args) {
ThreadPriority tp1=new ThreadPriority();
ThreadPriority tp2=new ThreadPriority();
ThreadPriority tp3=new ThreadPriority();
tp1.setName("飞机");
tp2.setName("高铁");
tp3.setName("汽车");
//获取线程的优先级
System.out.println(tp1.getPriority());
System.out.println(tp2.getPriority());
System.out.println(tp3.getPriority());
tp1.start();
tp2.start();
tp3.start();
}
设置线程有优先级
//设置线程的优先级
tp1.setPriority(10);
tp2.setPriority(5);
tp1.setPriority(1);
线程默认优先级是5
线程优先级的范围是1~10
线程优先级高仅仅表示线程获取的CPU时间几率高,但是要在次数比较多才能看到理想的效果