• java多线程 join方法以及优先级方法


    /*
    join:
    当A线程执行到了B线程的.join()方法时,A就会等待。等B线程都执行完,A才会执行。

    join可以用来临时加入线程执行。

    1.线程使用join方法,主线程就停下,等它执行完,那么如果该线程冻结了,主线程就挂了,这也是为什么线程要抛异常的原因
    2.当两个或以上线程开启了,这个A线程才使用join方法,那么主线程还是停下,这几个个线程交替进行,直到A执行完,主线程才复活


    */

    /*
    1.tostring(),方法,获取线程具体的名字,优先级
    2.优先级代表抢资源的频率
    3.java中设置有1  -  5   -  10这三个级别,因为是固定值,所以用字母大写表示
    4.跟设置后台线程一样,都属于线程的函数,由线程对象直接调用           r.setPriority(Thread.字母级别)                                     
    5.匿名内部类?是多线程的关键,必须掌握
    */

    class Demo implements Runnable
    {
        public void run()
        {
            for(int x=0; x<70; x++)
            {
                System.out.println(Thread.currentThread().toString()+"....."+x);
                Thread.yield();
            }
        }
    }


    class  JoinDemo
    {
        public static void main(String[] args) throws Exception
        {
            Demo d = new Demo();
            Thread t1 = new Thread(d);
            Thread t2 = new Thread(d);
            t1.start();
            
            //t1.setPriority(Thread.MAX_PRIORITY);

            t2.start();

            //t1.join();

            for(int x=0; x<80; x++)
            {
                //System.out.println("main....."+x);
            }
            System.out.println("over");
        }
    }

  • 相关阅读:
    easyui-numberbox后台获取数据后,鼠标一点击就自动清空了
    easyui只显示年月,时间格式
    解决ASP.Net第一次访问慢的处理 IIS 7.5
    解决ASP.Net第一次访问慢的处理(IIS8)
    在SQL2005中修改数据库名称
    HTML代码中<%%>、<%=%>
    c#中virtual, abstract和override的区别和用法
    Eclipse导入工程Some projects cannot be imported because they already exist in the workspace
    mvn package
    ipod导入音乐
  • 原文地址:https://www.cnblogs.com/liangqiyuan/p/5664874.html
Copyright © 2020-2023  润新知