java多线程(7)线程优先级问题

  1. java多线程中有线程优先级的概念,优先级高的线程会获得更多的执行机会
  2. java为线程提供了10个优先级,但是不要通过数字指定线程的优先级,因为有的操作系统可能不支持全部10个优先级,应当通过Thread.MAX_PRIORITY,Thread.MIN_PRIORITY,Thread.NORM_PRIORITY,关键字来指定优先级可以通过setPriority()方法来指定线程的优先级
  3. 以下为代码示例,具体的讲解穿插在代码中
    public class PriorityTest extends Thread{
    
        public PriorityTest(String name){
            super(name);
        }
    
    
        public void run(){
            for(int i=0; i<100; i++){
                System.out.println(getName() + ",其优先级是"  + getPriority() + ".循环" +
                        "变量的值为:" + i);
            }
        }
    
        public static void main(String args[]){
            Thread.currentThread().setPriority(6);
    //        这一步指定主线程的优先级为6,这样一来由主线程创建的子线程的优先级也就都是6
            
            for(int i=0; i<30; i++){
                if(i == 10){
                    PriorityTest low = new PriorityTest("低级");
                    low.start();
                    System.out.println("创建之初的优先级是:" + low.getPriority());
                    
                    low.setPriority(Thread.MIN_PRIORITY);
    //                这一步将low线程的优先级指定为最低的一级
                }
                if(i == 20){
                    PriorityTest high = new PriorityTest("高级");
                    high.start();
                    
                    System.out.println("创建之初的优先级是:" + high.getPriority());
    //                这一步会输出 创建之初的优先级是:6,因为main线程的优先级是6
                    
                    high.setPriority(Thread.MAX_PRIORITY);
    //                这一步指定high线程的优先级为最高级
                  
                }
            }
        }
    }
    

    这是我看李刚编著的《疯狂Java讲义》后总结出来的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值