java多线程之线程调度及获取和设置线程优先级
程序员文章站
2022-06-15 10:21:52
package cn.itcast_03;/* * Java是如何对线程进行调用呢? * 线程有两种调度模型: * 分时调度模型 : * 所有线程轮流使用CPU的使用权, * 平均分配每个线程的占用CPU的时间 * 抢占式调度模型: * 优先让优先级高的线程使用CPU,如果线程的优先级 *...
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(); } }
本文地址:https://blog.csdn.net/kaszxc/article/details/108876461