玖叶教程网

前端编程开发入门

线程优先级:setPriority(线程优先级怎么设置)


/**

线程调度模型

均分式调度模型:所有的线程轮流使用CPU的使用权,平均分配给每一个线程占用CPU的时间。

抢占式调度模型:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么就会随机选择一个线程来执行,优先级高的占用CPU时间相对来说会高一点点。

Java中JVM使用的就是抢占式调度模型

getPriority():获取线程优先级

setPriority:设置线程优先级

*/

public class DemoPriority {

public static void main(String[] args) {

//创建线程

MyThread t01 = new MyThread("线程01");

MyThread t02 = new MyThread("线程02");

MyThread t03 = new MyThread("线程03");

//获取线程优先级,默认是5

// System.out.println(t01.getPriority());

// System.out.println(t02.getPriority());

// System.out.println(t03.getPriority());

//设置线程优先级

t01.setPriority(Thread.MIN_PRIORITY); //低 - 理论上来讲,最后完成

t02.setPriority(Thread.NORM_PRIORITY); //中

t03.setPriority(Thread.MAX_PRIORITY); //高 - 理论上来讲,最先完成

//开启线程

t01.start();

t02.start();

t03.start();

}

}


class MyThread extends Thread{

public MyThread() {

}


public MyThread(String name) {

super(name);

}


//run方法是每个线程运行过程中都必须执行的方法

@Override

public void run() {

for (int i = 0; i < 1; i++) {

System.out.println(this.getName() + ":" + i);

}

}

}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言