线程设置优先级与性能倒置
线程设置优先级与性能倒置
priority设置优先级0~10,默认5
超过报错:ThreadStateException
应用场景:游戏中同时按下大中小招数时,系统优先释放谁
package com.li.changGe.multithreading.threadState;
public class PriorityDemo01 implements Runnable{
          
   
  public static void main(String[] args) {
          
   
      /**
       * 给普攻,招数和必杀技设置优先级
       * 启动线程
       */
      PriorityDemo01 priorityDemo01 = new PriorityDemo01();
      Thread ordinary = new Thread(priorityDemo01,"1");
      Thread tricks = new Thread(priorityDemo01,"2");
      Thread nirvana = new Thread(priorityDemo01,"3");
      /**
       * 先设置优先级再运行
       *
       * NORM_PRIORITY = 5
       */
    nirvana.setPriority(Thread.MAX_PRIORITY);
    ordinary.setPriority(Thread.MIN_PRIORITY);
    tricks.setPriority(Thread.NORM_PRIORITY);
    tricks.start();
    ordinary.start();
    nirvana.start();
  }
    @Override
    public void run() {
          
   
      System.out.println(Thread.currentThread().getName()+":"
          +Thread.currentThread().getPriority());
    }
}  
性能倒置:cpu有时并不一定就会按照优先级来调度
原本优先级高的线程却后执行

