• java多线程优先级问题


    java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低优先级线程”执行。

    例子:

    package com.ming.thread.threadpriority;
    
    public class MyThread extends Thread {
    
        public MyThread(String name) {
            super(name);
        }
    
        public void run() {
            for (int i = 0; i < 5; i++) {
                System.out.println(Thread.currentThread().getName() + "(" + Thread.currentThread().getPriority() + ")"+ ", loop " + i);
            }
        }
    }
    package com.ming.thread.threadpriority;
    
    /**
     * 线程的优先级的值是1--10
     * @author ming
     *
     */
    
    public class Run {
    
        public static void main(String[] args) {
            MyThread t1=new MyThread("t1");
            MyThread t2=new MyThread("t2");
            MyThread t3=new MyThread("t3");
            t1.setPriority(6);
            t2.setPriority(Thread.MAX_PRIORITY);
            t3.setPriority(1);
            t1.start();
            t2.start();
            t3.start();
        }
    }

    不要把线程的优先级与运行结果的顺序作为衡量的标准,优先级较高的线程并不一定每一次都先执行完run()方法中的任务,也就是说,线程的优先级与打印顺序无关,不要将这两者的关系相关联,它们的关系具有不确定性和随机性。

  • 相关阅读:
    javaweb大文件上传
    java+大文件分段上传
    php文件断点上传
    java+断点续传
    .net断点续传
    PHP检测每一段代码执行时间
    javaScript阻止浏览器F5刷新
    PHP动态修改配置文件
    eval()计算某个字符串,js和jquery都可以使用
    php 访问java接口数据
  • 原文地址:https://www.cnblogs.com/huzi007/p/7088988.html
Copyright © 2020-2023  润新知