java多线程之线程调度及获取和设置线程优先级

package cn.itcast_03;
/*
 * Java是如何对线程进行调用呢?
 *     线程有两种调度模型:
 *           分时调度模型 :
 *                         所有线程轮流使用CPU的使用权,
 *                         平均分配每个线程的占用CPU的时间
 *           抢占式调度模型:
 *                       优先让优先级高的线程使用CPU,如果线程的优先级
 *                       相同,那么会随机选择一个,优先级较高的线程获取CPU
 *                        的时间会多一些
 * Java使用的抢占式调度模型
 * 
 * 我们的线程没有设置优先级,肯定有默认优先级
 * 那么,我们默认的优先级是多少
 * 如何获取线程对象的优先级呢?
 *       public final int getPriority();返回线程的优先级
 * 如何设置优先级呢?
 *       public final void setPriority(int newPriority)
 * 注意:
 *  默认优先级是:5
 *  线程的优先级的范围是1-10;
 *  线程优先级仅仅表示线程获取的CPU时间片段的几率高,但是要在次数比较多,或者多次运送的时候才能看到比较好的效果
 */
public class 线程调度及获取和设置线程优先级 {
    
    

	public static void main(String[] args) {
    
    
		MyThread my1 = new MyThread();
		MyThread my2 = new MyThread();
		MyThread my3 = new MyThread();
		
		my1.setName("大泼猴");
		my2.setName("杀心观音");
		my3.setName("三眼");
		
//		//获取优先级
//		System.out.println(my1.getPriority());
//		System.out.println(my2.getPriority());
//		System.out.println(my3.getPriority());
		
		//设置线程优先级
		my1.setPriority(10);
		my3.setPriority(10);
		
		my1.start();
		my2.start();
		my3.start();
	}
}

猜你喜欢

转载自blog.csdn.net/kaszxc/article/details/108876461
今日推荐