package test39;
/***
* 线程调度 CPU在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令,那么java是如何对线程进行调用的
* 线程有两种调度模型: 分时调度模型 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间片 抢占式调度模型
* 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个,优先级高的线程获取的CPU时间片 相对多一些。 java使用的是抢占式调度模型
*
* @author samsung
*
* 线程没设置优先级,有默认优先级是5。 获取对象的优先级: public final int
* getPriority():返回线程对象的优先级
*
* 设置线程优先级 :setPriority()
*/
public class test39 {
public static void main(String[] args) {
MyThread s1 = new MyThread();
MyThread s2 = new MyThread();
s1.setName("小白");
s2.setName("小黑");
s1.setPriority(1);
s2.setPriority(10);
System.out.println(s1.getPriority());
System.out.println(s2.getPriority());
s1.start();
s2.start();
}
}
package test39;
public class MyThread extends Thread {
@Override
public void run() {
for(int i=0;i<100;i++) {
System.out.println(getName()+":"+i);
}
}
}