• 多线程继承thread后调用run和start的区别


    注册时间有点晚,补一下onenote的记录

    thread.java中的start()方法,表明线程已经准备就绪,等待调用线程对象的run方法,是异步的,谁抢到时间片,谁运行

    thread.java中的run方法,是main方法主线程对象调用,每个主线程对象运行完之后才会有后续对象再调用,是同步的

    public Test(String name) {
            super(name);
        }
    
    
        @Override
        public void run() {
            int i = 10;
            while (i-- > 0) {
                System.out.println(getName()+"--------" + i);
            }
        }
    
    
        public static void main(String[] args) {
            Test test1 =new Test("A");
            Test test2 =new Test("B");
    
            test1.run();
            test2.run();
    
        }
    
    
    }
    A--------9
    A--------8
    A--------7
    A--------6
    A--------5
    A--------4
    A--------3
    A--------2
    A--------1
    A--------0
    B--------9
    B--------8
    B--------7
    B--------6
    B--------5
    B--------4
    B--------3
    B--------2
    B--------1
    B--------0

    用run的话,A对象运行完,B对象才会运行

    public Test(String name) {
            super(name);
        }
    
    
        @Override
        public void run() {
            int i = 10;
            while (i-- > 0) {
                System.out.println(getName() + "--------" + i);
            }
        }
    
    
        public static void main(String[] args) {
            Test test1 = new Test("A");
            Test test2 = new Test("B");
    
            test1.start();
            test2.start();
    
        }
    B--------9
    B--------8
    A--------9
    B--------7
    A--------8
    B--------6
    A--------7
    B--------5
    A--------6
    B--------4
    A--------5
    B--------3
    A--------4
    B--------2
    A--------3
    B--------1
    A--------2
    B--------0
    A--------1
    A--------0

    start的话,AB对象异步运行

    以上个人理解,欢迎各位大佬评论修正

  • 相关阅读:
    MySQL学习记录
    Python3玩转儿 机器学习(4)
    Python3玩转儿 机器学习(3)
    C#-WebForm-文件上传-FileUpload控件
    C#将WebBowser控件替换为谷歌内核【转】
    各种【icon】矢量图
    WPF 获取鼠标全局坐标【精简】
    winfrom 的 各种效果【需要新浪帐号查看】
    JS 文字波纹效果【插件】
    C# 窗口抖动
  • 原文地址:https://www.cnblogs.com/innocenter/p/12887309.html
Copyright © 2020-2023  润新知