zoukankan      html  css  js  c++  java
  • 线程优先级

    线程优先级

    • Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。
    • 线程的优先级用数字表示,范围从1~10.
      • Thread.MIN_PRIORITY = 1;
      • Thread.MAX_PRIORITY = 10;
      • Thread.NORM_PRIORITY = 5;
    • 使用以下方式改变或获取优先级
      • getPriority().setPriority(int xxx)

    优先级的设定建议在start()调度前

    优先级低只是意味着获得调度的概率低,并不是优先级低就不会被调用了。这都是看CPU的调度(性能倒置)

    //测试线程的优先级
    public class TestPriority {
    
        public static void main(String[] args) {
            //主线程默认优先级
            System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
    
            MyPriority myPriority = new MyPriority();
    
            Thread t1 = new Thread(myPriority);
            Thread t2 = new Thread(myPriority);
            Thread t3 = new Thread(myPriority);
            Thread t4 = new Thread(myPriority);
            Thread t5 = new Thread(myPriority);
            Thread t6 = new Thread(myPriority);
    
            //先设置优先级,再启动
            t1.start();
    
            t2.setPriority(1);
            t2.start();
    
            t3.setPriority(4);
            t3.start();
    
            t4.setPriority(Thread.MAX_PRIORITY); //MAX_PRIORITY = 10
            t4.start();
    
            t5.setPriority(8);
            t5.start();
    
            t6.setPriority(7);
            t6.start();
        }
    }
    
    class MyPriority implements Runnable{
    
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName()+"-->"+Thread.currentThread().getPriority());
        }
    }
    
  • 相关阅读:
    a冲刺总结随笔
    a版本冲刺第十天
    a版本冲刺第九天
    a版本冲刺第八天
    a版本冲刺第七天
    a版本冲刺第六天
    a版本冲刺第五天
    BETA 版冲刺前准备
    Alpha事后诸葛会议
    Alpha答辩总结
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13311444.html
Copyright © 2011-2022 走看看