zoukankan      html  css  js  c++  java
  • Java线程的优先级设置

    通过setPriortiy设置优先级,有效数字从1-10,否则无效,通过下面的源码分析,若是当前线程的优先级设置的级别大于所在的Group则当前设置的优先级失效,使用所在group的最大优先级。默认为5

    public final void setPriority(int newPriority) {
            ThreadGroup g;
            checkAccess();
            // 验证有效优先级别为1-10
            if (newPriority > MAX_PRIORITY || newPriority < MIN_PRIORITY) {
                throw new IllegalArgumentException();
            }
            // 若当前的group不为空则判断当前设置的优先级是否大于所在优先级,若大于则使用group的最大优先级。
            if((g = getThreadGroup()) != null) {
                if (newPriority > g.getMaxPriority()) {
                    newPriority = g.getMaxPriority();
                }
                setPriority0(priority = newPriority);
            }
        }
    

    不建议在实际的开发过程中所有线程优先级来做业务操作,因为此优先级还是要依赖于CPU的调度,并不是绝对的,只能为某一个线程增加一定的权重。

  • 相关阅读:
    ansible-思维导图
    linux运维面试精华题
    python博客大全
    python-常用代码
    男孩周末班-k8s-架构图
    jQuery操作
    js点击事件,添加或删除元素,定时器
    js.DOM操作
    js数组,阶乘,递归,冒泡排序
    js匿名和自执行函数,控制语句
  • 原文地址:https://www.cnblogs.com/Mr-GG/p/java-xian-cheng-de-you-xian-ji-she-zhi.html
Copyright © 2011-2022 走看看